Forum de discussion
Forum « Flash et Shockwave » (archives)
correction et deplacement des limites en x et y
Envoyé: 1er mai 2004, 6h48 par dada
j'ai testé ton code, ce fonctionneùent est normal :
il est écrit :
--- quand on appuie sur la fleche droite, Déplace le clip vers la droite, si il dépasse X=339, ne déplace pas.
Mais si tu apuies sur la touche gauche, sa limite n'est pas 339, c'est 60, et le test n'est plus 'si >' mais 'si <.'
Le clip ne se déplace pas dans la totalité de l'écran : c'est parce que les coordonnées maxi et mini ne correspondent pas à la taille de ta scène.
Chaque test de coordonnée ne correspond qu'à une seule touche, c'est pour çà que si le clip est hors de la zone voulue et que tu appuie sur une touche qui le fait revenir vers la zone, la limite ne fait pas son boulot puisqu'elle se trouve dans un auter KeyDown que celui en cours.
Il faut sortir les tests de limite des KeyDown, voici un exemple corrigé avec les coordonnées par défaut d'un nouveau document flash (550*400) :
---------------------------
speed = 10;
mickey.onEnterFrame = function() {
with (mickey) {
if (Key.isDown(Key.RIGHT)) {
_x += speed;
_root.display = "On est les meilleurs !!!";
} else if (Key.isDown(Key.LEFT)) {
_x -= speed;
_root.display = "On est des boss !!!";
} else if (Key.isDown(Key.UP)) {
_y -= speed;
_root.display = "On est les plus forts !!!";
} else if (Key.isDown(Key.DOWN)) {
_y += speed;
_root.display = "Et on a fini !!!";
}
if (_x>=550)_x = 550;
if (_x<0) _x = 0;
if (_y<0) _y = 0;
if (_y>400) _y = 400;
}
};
---------------------------
Il y a encore moyen de faire mieux en donnant la possibilité d'appuyer sur 2 touches à la fois, mais çà je te laisse trouver ;)
++
dada
Réponses
|