Je suis un développeur java/php aidant quelqu'un avec actionscript. Je ne comprends pas pourquoi "ceci" n'est pas défini dans le code ci-dessous. ce n'est qu'un extrait du code, mais j'espère que cela donne une idée de l'endroit où j'essaie de faire référence à "ceci". J'essaie de savoir quel film l'interpolation se déplace afin que je puisse charger le film suivant. Les préadolescents sont utilisés pour déplacer les films dans et hors de l'écran."this" is undefined
var tween_move_1:Tween = new Tween(movie_0, "_x", Strong.easeOut, 1600, 150, 0.5, true);
tween_move_1.onMotionFinished = function() {
stop();
setTimeout(function() {
trace(this);//when trace runs it shows undefined
var tween_move_2:Tween = new Tween(movie_0, "_x", Strong.easeOut, 150, 1600, 0.5, true);
tween_move_2.onMotionFinished = function() {
var tween_move_1:Tween = new Tween(movie_1, "_x", Strong.easeOut, 1600, 150, 0.5, true);
};
}
,2000);//end of setTimeout
};//end of tween.onMotionFinished
MISE À JOUR! Voici le code de travail après l'application des conseils des réponses /:
var tween_move_in:Tween = new Tween(movie_0, "_x", Strong.easeOut, 1600, 150, 0.5, true);
tween_move_in.onMotionFinished = function() {
stop();
var tweeny = this;//create reference to this so it can be used in setTimeout()
setTimeout(function() {
var movie = tweeny.obj;//use ref to get the movie affected by the tween
var movieName:String = movie._name;
var splitArray = movieName.split("_");
var index = parseInt(splitArray[1]);
var tween_move_out:Tween = new Tween(_root["movie_"+index], "_x", Strong.easeOut, 150, 1600, 0.5, true);
tween_move_out.onMotionFinished = function() {
var tween_move_in2:Tween = new Tween(_root["movie_"+(index+1)], "_x", Strong.easeOut, 1600, 150, 0.5, true);
};
}
,2000);//end of setTimeout
};//end of tween.onMotionFinished
Aussi la page de référence pour la classe tween a aidé. http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/fl/transitions/Tween.html –