Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: murs infranchissales, limite le déplacement
Envoyé: 13 septembre 2005, 9h55 par Oznog
Si la voiture se déplace c'est que tu change sa position, alors avant de changer cette position test que la nouvelle position est à l'intérieur de la scène.
Et ça dépend beaucoup du code ou de la technique utilisée pour déplacer la voiture. L'idéale pour sauver du code est d'avoir une seule variable à 1, 0 ou -1. C'est à dire:
-1 : Vers la gauche (axe X) ou le haut (axe Y)
0 : Sans mouvement sur l'axe.
1 : Vers la droite (axe X) et vers le bas >(axe Y).
De cette façon il suffit d'une seule adition par axe.
var nPosition = 100;
// Égal 99!
var nDeplacement = -1;
nPosition += nDeplacement;
// Égal 100!
var nDeplacement = 0;
nPosition += nDeplacement;
// Égal 101!
var nDeplacement = 1;
nPosition += nDeplacement;
Par exemple sur le clip de la voiture, test ce code.
onClipEvent (load) {
//J'initialise les limites.
var nXmax = 200;
var nYmax = 200;
}
onClipEvent (enterFrame) {
// Exemple moins 1 sur l'axe X.
nXdirection = -1;
nYdirection = +2;
nXtemp = this._x + nXdirection;
nYtemp = this._y + nYdirection;
if (!(nXtemp > nXmax)&&!(nXtemp < 0)) this._x += nXdirection;
if (!(nYtemp > nYmax)&&!(nYtemp < 0)) this._y += nYdirection;
trace(this._x+'x'+this._y);
}
Il suffit de récupérer/modifier les nXdirection/nYdirection comme tu le fais déjà.
Ciao
Oznog
Réponses
|