OVH Cloud OVH Cloud

[Dir] keyCode de Ctrl+C

5 réponses
Avatar
KRS
J'ai mis un script stopEvent sur le KeyDown d'un texte, le but étant de
permettre la sélection et la copie sans permettre de modification.

Problème, quand je fais un Ctrl+C pour copier ma sélection, celà génère
un keycode 126 qui correspond à la touche flechée "haut". et ce code est
interprété sur un autre élément de mon anim, c'est donc génant.

Avez-vous une idée du pourquoi ducomment de la génération de ce keyCode?

Autre ennui, quand je sélectionne mon texte, la sélection apparait en
surbrillance, normal, mais le reste du fond du texte est également
grisé, c'est déjà plus génant visuellement, que mon sprite text soit en
"dessin seul" ou "fond transparent ne change pas les chose. Une soluton
pour ça?

merci.

5 réponses

Avatar
Bubarnet
KRS wrote:
J'ai mis un script stopEvent sur le KeyDown d'un texte, le but étant
de permettre la sélection et la copie sans permettre de modification.

Problème, quand je fais un Ctrl+C pour copier ma sélection, celà
génère un keycode 126 qui correspond à la touche flechée "haut". et
ce code est interprété sur un autre élément de mon anim, c'est donc
génant.

Avez-vous une idée du pourquoi ducomment de la génération de ce
keyCode?


Tu es sur Mac ?
Sur PC, je n'ai jamais eu ce problème. Mais sur Mac, j'ai déjà constaté que
les touches de modifications sont prises en compte pour the keycode
Attention : ce genre de raccourci ne marche pas en authoring, director
prenant le pas

Autre ennui, quand je sélectionne mon texte, la sélection apparait en
surbrillance, normal, mais le reste du fond du texte est également
grisé, c'est déjà plus génant visuellement, que mon sprite text soit
en "dessin seul" ou "fond transparent ne change pas les chose. Une
soluton pour ça?


Là, je ne vois pas ce que tu veux dire. Tu as un exemple plus précis (code
ou screenshot) ?

--
Bubar
Freelance Multimédia - internet
Création de logiciels multimédia et sites web
http://www.wapitistudio.com
Avatar
KRS
Bubarnet wrote:
Tu es sur Mac ?
Sur PC, je n'ai jamais eu ce problème. Mais sur Mac, j'ai déjà constaté que
les touches de modifications sont prises en compte pour the keycode
Attention : ce genre de raccourci ne marche pas en authoring, director
prenant le pas



Non, je suis sous win2000 avec Dir 10.1.

Par contre c'est plus viceux que ça, pour reproduire ce "bug" voici ce
que j'ai fait dans une nouvelle anim (pour vérifier que ce ne soit pas
du a un autre de mes script) :

Un sprite text modifiable avec un comportement beginSprite qui lance
keyUpScript

le keyUpScript est associé à un simple put _key.keyCode

quand on appuie sur des touches, les keyCodes correspondant sont
affichés, mais quand on fait Ctrl+C le put répète le dernier keyCode.

vois-tu une raison à celà?


Autre ennui, quand je sélectionne mon texte, la sélection apparait en
surbrillance, normal, mais le reste du fond du texte est également
grisé, c'est déjà plus génant visuellement, que mon sprite text soit
en "dessin seul" ou "fond transparent ne change pas les chose. Une
soluton pour ça?



Là, je ne vois pas ce que tu veux dire. Tu as un exemple plus précis (code
ou screenshot) ?



voici une image pou illustrer le problème.

http://www.gloomydream.net/bazar/text_select.jpg

là du texte est sélectionné (en bleu) mais tout le reste du fond du bloc
text s'est grisé, alors qu'il devrais être transparent (beige comme le
reste du fond donc)
Avatar
Bubarnet
> quand on appuie sur des touches, les keyCodes correspondant sont
affichés, mais quand on fait Ctrl+C le put répète le dernier keyCode.

vois-tu une raison à celà?


Là, c'est normal, du moins en authoring. Ctrl-C, c'est le raccourci pour
copier, qui est intercepté par l'environnement director, avant que ton anim
le recoive. Ce qui fait qu'elle est zappée.
Donc lors du keyDOWN, ton anim n'enregistre pas le CTRL+C. Lors du keyup, tu
demandes d'afficher keycode, fonction qui affiche la dernière touche
mémorisée ! (pas forcément la touche "upée"). Par ex, appui sur A, garde
appuyé. Appui ensuite sur Z, relache A. Ton keycode va de donner 6, qui est
la touche Z et non A. keycode, c'est la dernière touche appuyée et mémorisée
Ca ne devrait pas poser de problème une fois que tu auras créé un exe. Par
contre, ça ne marchera pas mieux dans un browser, puisque celui-ci prendra
le pas pour un ctrl+C
Lorsque je dois simuler des couper/copier/coller en authoring, j'utilise
d'autres raccourci clavier. Le ctrl+H n'est pas intercepté par director, tu
peux donc t'en servir

http://www.gloomydream.net/bazar/text_select.jpg

là du texte est sélectionné (en bleu) mais tout le reste du fond du
bloc text s'est grisé, alors qu'il devrais être transparent (beige
comme le reste du fond donc)


Je vois ce que tu veux dire, et là tu est mal barré. Il semble que lorsque
un champ texte est éditable et sélectionné, il passe en DTS, et ne peux donc
plus avoir un fond transparent. J'ai eu le même problème et ne m'en suis
sorti qu'à gros de bidouille (j'utilise un bitmap qui affiche le champ, ça
marche bien. Le problème pour toi, c'est que moi je n'avais pas besoin de
sélectionner une portion du texte, ce qui devient vite très complexe avec un
Text)
La seule solution, c'est de donner la même forecolor que ton fond (dans
l'inspecteur de propriété, tu choisis la couleur beige de ton fond). Cette
méthode marche tant que tu laisses un fond uni.

--
Bubar
Freelance Multimédia - internet
Création de logiciels multimédia et sites web
http://www.wapitistudio.com
Avatar
KRS
Bubarnet wrote:
quand on appuie sur des touches, les keyCodes correspondant sont
affichés, mais quand on fait Ctrl+C le put répète le dernier keyCode.

vois-tu une raison à celà?



Là, c'est normal, du moins en authoring. Ctrl-C, c'est le raccourci pour
copier, qui est intercepté par l'environnement director, avant que ton anim
le recoive. Ce qui fait qu'elle est zappée.
Donc lors du keyDOWN, ton anim n'enregistre pas le CTRL+C. Lors du keyup, tu
demandes d'afficher keycode, fonction qui affiche la dernière touche
mémorisée ! (pas forcément la touche "upée"). Par ex, appui sur A, garde
appuyé. Appui ensuite sur Z, relache A. Ton keycode va de donner 6, qui est
la touche Z et non A. keycode, c'est la dernière touche appuyée et mémorisée
Ca ne devrait pas poser de problème une fois que tu auras créé un exe. Par
contre, ça ne marchera pas mieux dans un browser, puisque celui-ci prendra
le pas pour un ctrl+C
Lorsque je dois simuler des couper/copier/coller en authoring, j'utilise
d'autres raccourci clavier. Le ctrl+H n'est pas intercepté par director, tu
peux donc t'en servir



Ok, je comprend ce qu'il se passe maintenant, merci!


http://www.gloomydream.net/bazar/text_select.jpg

là du texte est sélectionné (en bleu) mais tout le reste du fond du
bloc text s'est grisé, alors qu'il devrais être transparent (beige
comme le reste du fond donc)



Je vois ce que tu veux dire, et là tu est mal barré. Il semble que lorsque
un champ texte est éditable et sélectionné, il passe en DTS, et ne peux donc
plus avoir un fond transparent. J'ai eu le même problème et ne m'en suis
sorti qu'à gros de bidouille (j'utilise un bitmap qui affiche le champ, ça
marche bien. Le problème pour toi, c'est que moi je n'avais pas besoin de
sélectionner une portion du texte, ce qui devient vite très complexe avec un
Text)
La seule solution, c'est de donner la même forecolor que ton fond (dans
l'inspecteur de propriété, tu choisis la couleur beige de ton fond). Cette
méthode marche tant que tu laisses un fond uni.



Hélas ce n'est pas la couleur de premier plan ni d'arrière plan qu'il
utilise pour ce "grisage" mais une couleur à peine plus foncée que celle
définie pour l'arrière plan.

comme mon beige est trop clair, je ne peux pas "tricher" en définissant
une couleur d'arrière plan plus claire pour "anticiper" le grisage. tout
au plus je peux l'attenuer...

dommage. merci quand même pour l'astuce.
Avatar
Bubarnet
> Hélas ce n'est pas la couleur de premier plan ni d'arrière plan qu'il
utilise pour ce "grisage" mais une couleur à peine plus foncée que
celle définie pour l'arrière plan.

comme mon beige est trop clair, je ne peux pas "tricher" en
définissant une couleur d'arrière plan plus claire pour "anticiper"
le grisage. tout au plus je peux l'attenuer...


En fait il s'agit d'un mixage entre la couleur du fond du membre texte et le
forecolor du sprite. Le problème c'est de trouver les bonnes couleurs pour
que le mixage donne la couleur beige de fond
Dans tout les cas, ce n'est qu'un des nombreux problèmes qui existent avec
les champs et les textes.
C'est bien pourquoi je ne les utilise plus !

--
Bubar
Freelance Multimédia - internet
Création de logiciels multimédia et sites web
http://www.wapitistudio.com