Bonjour, je voudrai déplacer mon clip vers la droite quand je presse sur d
et qu'il s'arrête quand je relache d.
Voici mon code je ne sais pas quoi mettre après :
Code:on(keyPress "<d>") {
MErci :P:P:P:P:P
Version imprimable
Bonjour, je voudrai déplacer mon clip vers la droite quand je presse sur d
et qu'il s'arrête quand je relache d.
Voici mon code je ne sais pas quoi mettre après :
Code:on(keyPress "<d>") {
MErci :P:P:P:P:P
Code:
1
2
3
4 on(keyPress "<Enter>") { OcurrencedetonClip._x +=10; }
Au lieu de ENTER j'aimerai mettre d comment faire ?
Code:
1
2
3
4 on(keyPress "d") { _root.salut._y +=1; }
[/résolu]?
je dois laisser _x ????
Le _x est une propriété de ton clip, si ton clip à pour nom toto, alors toto._x correspond à la position de ton clip sur l'axe des abscisses ; pour l'ordonné, c'est la même chose mais avec la propriété toto._y
donc :Code:
1
2
3
4 on(keyPress "d") { _root.salut._y +=1; }
signifie que :
Lorsque tu press la touche D, ton clip qui s'appel salut va se déplacer vers la droite de 1pixel.
j'ai essayé avec ce code mais il me mais l'erreur suivante
Code:
1
2
3
4 **Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 1 : Les événements souris ne sont autorisés que pour les occurrences bouton on(keyPress "d") Total des erreurs ActionScript : 1 Erreurs signalées : 1
tu dois placer se code sur un bouton et non dans le scénario, tu veux faire quoi au juste, déplacer un clip comme pour faire un jeu (en continu) ou déplacer de 25 pixel sur la droite juste à chaque clic ?
Oui c'est pour faire un jeu.
Je suis obligé de le mettre sur un bouton ???
si tu veux mettre l'action sur un CLIP :
Cette action permet de déplacer le clip en cour de 1pixel à chaque répétition d'une touche clavier, si tu veux que ça soit seulement D, tu vérifie ensuite que la touche correspond à DCode:
1
2
3 onClipEvent(keyDown) { this._x += 1 }
Ca fonctionne mais comment faire avec la lettre d ?
Interesses-toi aussi aux keyListener.
Sur google rechercher comment detecter l'appuie sur une touche est vraiment chose aisée, pense a l'utiliser en premier lieu c'est un puissant outil de recherche.
Okay
pour ne pas partir sur un mauvais piste, regarde plutot ça :
la différence c'est que tu fait bouger ton clip suivant la vitesse de ton animation et non le temps de répétition de ta touche.Code:
1
2
3
4
5
6
7
8
9
10
11
12 onClipEvent (enterFrame) { if (Key.isDown(Key.RIGHT)) { this._x = _x+10; } else if (Key.isDown(Key.DOWN)) { this._y = _y+10; } else if (Key.isDown(Key.LEFT)) { this._x = _x-10; } else if (Key.isDown(Key.UP)) { this._y = _y-10; } }
Poue le D, je n'ai plus le code en tete
Je cherche aussi pour le d mais si tu trouve, tu peux le mettre stp
En tout cas merci beaucoup pour ton aide
J'aimerai que mon clip se joue que lorsque j'appuie sur une touche et qu'il s'arrête quand je le relache.
Pour faire un bonhomme qui court quand on presse <droite> le clip se joue et je déplace de clip sur l'axe x. Et quand je relache le clip se stop.
Avez-vous une idée comment faire ???
oui, il faut que tu définisse plusieur position dans ton clip, soit sur des frame numéroté, soit sur des frame nommé.
Prenons des frames nommées Marche, Arret, alors :
Bon j'ai pas tester mais dans l'idée c'est comme ça, n'oublie pas de mettre un stop pour pas qu'il marche dès le départ.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 onClipEvent (enterFrame) { if (Key.isDown(Key.RIGHT)) { this._x = _x+10; this.gotoAndStop("Marche"); } else if (Key.isDown(Key.DOWN)) { this._y = _y+10; this.gotoAndStop("Marche"); } else if (Key.isDown(Key.LEFT)) { this._x = _x-10; this.gotoAndStop("Marche"); } else if (Key.isDown(Key.UP)) { this._y = _y-10; this.gotoAndStop("Marche"); } else () { this.gotoAndStop("Arret"); } }
Il y a un truc que je comprend pas si je mais un stop au début de l'animation elle va se jouer une seule fois ?? Non ???
en fait tout dépend comment tu hierarchise, regarde les clip suivant :
au départ, tu dois faire un perso.gotoAndStop("Arret")Code:
1
2
3
4
5
6
7 Perso |_Arret |_position arrétée 1 |_Marche |_position marche 1 |_position marche 2 |_position marche 3
Okay j'ai compris alors j'essaye je te redis
J'ai l'erreur suivante avec ton code d'avant :
Code:
1
2
3
4
5
6
7
8
9
10 **Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 15 : ')' inattendu else () { **Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 16 : ')' attendu this.gotoAndStop("Arret"); **Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 18 : '}' inattendu } Total des erreurs ActionScript : 3 Erreurs signalées : 3
Simple erreur de syntaxe ... il faut tout de meme chercher par soi-meme avant de poster merci.
oui, de plus l'erreur est dans le message, enlève les parenthèses else ()
je fais plusieurs language et j'ai de mauvais automatisme, désolé;)
Tu penses que cette manière pourrai fonctionner ?
Mais j'ai du me gourré dans mon code paske sa bugCode:
1
2
3
4
5
6
7
8
9 else if (Key.isDown(Key.SPACE)) { for (i=0;i=8;i++) { this._y = _y-3; this._x = _x+3; } for (i=0;i=8;i++) { this._y = _y+3; this._x = _x-3; }
dis nous se que tu veux faire car ça n'a pas de sens, tu veux définir un action pour un i de 0 à 8 mais tu ne l'utilise même pas après,
tu bouge 8 fois de 3 pixel dans ta boucle, autant faire 24 d'un coup :lol:
C'est pour qu'on voit le déplacement, pour donner l'impression de saut. Tu penses que sa peux marcher ?