Forum de discussion
Forum « Flash et Shockwave » (archives)
pour blues >une variable comme propriété ?
Envoyé: 3 mars 2004, 10h24 par bonoso
Je suis en train de rajouter tous mes p'tits clips sur la base de ton script, et du coup j'ai encore un p'tit pb...
J'ai séparé la fonction "duplicate" de chaque script bouton : Dans chaque script bouton (Gamin, Roller, Mémé...), j'ai défini une variable "selected" qui donne le nom du clip pour que dans la fonction "duplicate", "selected" permette de dire quel clip activer. (parce que en recopiant le script du "bouton gamin", la fonction duplicate se recopiait aussi et du coup le clip qui se lançait ne correspondait plus au bouton glissé) bref, ça, ça va.
Du coup, dans la fonction "duplicate" je voudrais me servir de ma variable "selected" aussi pour dire à quelle allure "CStep" va avancer chaque clip.
J'ai écrit un petit truc qui lui donne valeur "valStep" qd on glisse le clip.
Elle est comprise au lancement mais a chaque fois que je glisse un nouveau clip qui a une valeur "valStep" différente, le premier qui est déjà lancé finit par se caler aussi dessus.
(j'espère que tu comprends ce que je veux dire...)
concrêtement voilà ce que j'ai pondu :
function duplicate(X, Y) {
Count++;
if (selected == "Meme"||"Enfant"||"Gamin"||"Minot"){
valStep = 1
}
if (selected == "Roller"){
valStep = 7
}
if (selected == "Femmechien"){
valStep = 2
}
trace(valStep);
_root["Conteneur"].attachMovie(selected, "Copie"+Count, Count);
//on le met sur la scene
//la ou on la laché
_root.Conteneur["Copie"+Count]._x = X;
_root.Conteneur["Copie"+Count]._y = Y;
// on verifie sa position sur l'axe x
// pour voir dans quel sens on va le mettre
if (X<X_Min_Scene+(Lg_Scene/2)) {
// vers la droite
_root.Conteneur["Copie"+Count]._xscale = 100;
_root.Conteneur["Copie"+Count].CStep = valStep;
} else {
// vers la gauche
_root.Conteneur["Copie"+Count]._xscale = -100;
_root.Conteneur["Copie"+Count].CStep = -valStep
}
//une fois placé on le fait bougé sur la scene
_root.Conteneur["Copie"+Count].onEnterFrame = function() {
//CStep = Step
if (this._x>=-70 and this._x<=0) {
this._xscale = 100;
this.CStep = valStep
}
if (this._x>=1050 and this._x<=1100) {
this._xscale = -100;
this.CStep = -valStep;
}
//trace(this.CStep)
this._x += Step*this.CStep;
trace(this.CStep)
};
}
Comment faire pour que chaque clip réactive sa propre "valStep" une fois qu'il est lancé ?
du style this.CStep = this.CStep; ...
(genre un "getProperty" mais qui là ne marche pas car "valStep" n'est pas une propriété...)
Merci d'avance chevalier Blues!
Réponses
|