Tom's Guide > Forum > Programmation > Je ne trouve pas l'erreur ?

Je ne trouve pas l'erreur ?

Forum Programmation : Je ne trouve pas l'erreur ?

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

salut a tous :bounce:
Voila je débute sur flash et je ne trouve pas le problème à mon script ? :

angle = 90;
vit = 8;
onEnterFrame = function () {
if (Key.isDown(Key.LEFT)) {
auto._x -= vit;
auto._rotation = angle*2;
} else if (Key.isDown(Key.RIGHT))
auto._x += vit;
auto._rotation = 0;
} else if (Key.isDown(Key.UP)) {
auto_y += vit;
auto._rotation = -angle;
} else if (Key.isDown(Key.DOWN)) {
auto_y += vit;
auto._rotation = angle;
}
};

j'ai un clip avec un petite voiture de dessiné, mais quand je test l'animation, elle n'avance pas ?
merci

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Salut,

 

je te conseil d'utiliser un écouteur pour la détection de l'appui sur les touches :

 
Code :
  1. var vit:Number = 10;
  2. var keyListener_obj:Object = new Object();
  3. keyListener_obj.onKeyDown = function() {
  4.     switch (Key.getCode()) {
  5.         case Key.LEFT :
  6.             auto._x -= vit;
  7.             break;
  8.         case Key.UP :
  9.             auto._y -= vit;
  10.             break;
  11.         case Key.RIGHT :
  12.             auto._x += vit;
  13.             break;
  14.         case Key.DOWN :
  15.             auto._y += vit;
  16.             break;
  17.     }
  18. };
  19. Key.addListener(keyListener_obj);
 

Edit : j'ai pas compris pour l'angle


Message édité par tracks@idn le 12-09-2008 à 15:27:11
Répondre à tracks@idn

desolé j'essaie mais ca ne marche pas ?
Sa indique :
"**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 1 : Erreur de syntaxe.
1. var vit:Number = 10;

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 2 : Erreur de syntaxe.
2. var keyListener_obj:Object = new Object();

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 3 : Erreur de syntaxe.
3. keyListener_obj.onKeyDown = function() {

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 4 : Erreur de syntaxe.
4. switch (Key.getCode()) {

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 5 : Erreur de syntaxe.
5. case Key.LEFT :

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 6 : Erreur de syntaxe.
6. auto._x -= vit;

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 7 : Erreur de syntaxe.
7. break;

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 8 : Erreur de syntaxe.
8. case Key.UP :

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 9 : Erreur de syntaxe.
9. auto._y -= vit;

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 10 : Erreur de syntaxe.
10. break;

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 11 : Erreur de syntaxe.
11. case Key.RIGHT :

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 12 : Erreur de syntaxe.
12. auto._x += vit;

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 13 : Erreur de syntaxe.
13. break;

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 14 : Erreur de syntaxe.
14. case Key.DOWN :

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 15 : Erreur de syntaxe.
15. auto._y += vit;

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 16 : Erreur de syntaxe.
16. break;

**Avertissement** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 5 : Les instructions précédant la première instruction 'case' d'une instruction 'switch' sont ignorées
5. case Key.LEFT :

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 19 : Erreur de syntaxe.
19. Key.addListener(keyListener_obj);

Total des erreurs ActionScript : 18 Erreurs signalées : 18"

peut-etre par ce que j'utilise Flash ?
merci

Répondre à sawache

heu oui j'utilise bien flash aussi ^^
le code doit etre mis sur une image clé et pas un symbole, verifie, car le script march, et il n'y pas d'erreur chez moi

Répondre à tracks@idn

oui en fait j'avais pris les chiffres avec, c'est pourquoi ca ne marche pas.
pourtant avec ton code, la voiture ne se deplace pas ? mais il ne me trouve pas d'erreur,
ni meme avec ce code tres simple:
var vit = 2;
onEnterFrame = function () {
if (Key.isDown(Key.LEFT)) {
auto._x -= vit;
} else if (Key.isDown(Key.RIGHT)) {
auto._x += vit;
} else if (Key.isDown(Key.UP)) {
auto._y -= vit;
} else if (Key.isDown(Key.DOWN)) {
auto._y += vit;
}
};

pourtant je selectionne m

Répondre à sawache

*SUITE*
pourtant je selectionne ma premiere image ? et la aussi la voiture ne se deplace pas
merci

Répondre à sawache

ta bien un carré sur ta scene, un clip nomée auto ?

Répondre à tracks@idn

oui je vient de le faire
sa marche pas non plus ...
si avec un script aussi simple j'y arrive pas alors moi qui compté faire plus ...
Bref sinon y'a pas un tuto ?
moi j'ai trouvé =>http://physiquecollege.free.fr/tuto/physique_14/physique_14.html mais chez moi sa marche pas non plus ...
HELP thx

Répondre à sawache

Incroyable, je dl le ficher, je dezip, je 'louvre et il me dit " format de fichier inattendu"
Bha désolé tracks@idn, sa ne marche pas ...
Bon on arete ? je vais pas te faire perdre du temps, tant pis ^^
Trop dommage !

Répondre à sawache

c'est parceque'on a pas la meme version de flash, laquel utilise tu ?

Répondre à tracks@idn

J'utilise Flash 8 ? pas toi ?

Répondre à sawache

Sinon j'ai reussi a faire qq chose, qui marche, je te passe le script :
onClipEvent (load) {
vitesse = 0;
x = 0;
y = 0;
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.UP)) {
vitesse += 1;
}
if (Key.isDown(Key.DOWN)) {
vitesse -= 0.2;
}
if (Key.isDown(Key.LEFT)) {
_rotation -= 8;
}
if (Key.isDown(Key.RIGHT)) {
_rotation += 8;
}
if (Math.abs(vitesse)>1) {
vitesse *= 0.9;
}
x = Math.cos(_rotation*(Math.PI/180))*vitesse;
y = Math.sin(_rotation*(Math.PI/180))*vitesse;
if (_root.rond.hitTest(_x+x, _y+y, true)) {
vitesse *= -0.5;
} else {
_x += x;
_y += y;
}
}


mais la le probleme, c'est que quand je n'appuie pas sur une touche la voiture bouge encore ? comment lui dire qu'elle ne bouge plus ?

Répondre à sawache
Tom's Guide > Forum > Programmation > Je ne trouve pas l'erreur ?
Aller à :

Il y a 1146 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens