最初的目标是在event1上和通常在event2上反向播放动画。所以我用了这个代码:
/* some imports */
public class Element extends MovieClip {
private var tween:Tween;
public function Element() {
tween = new Tween(this, "y", Regular.easeInOut, -this.height, 0, 0.7, true);
tween.stop();
this.addEventListener(event1, reverse);
this.addEventListener(event2, normal);
}
private function reverse(e:Event1) {
tween.yoyo();
}
public function normal(e:Event2) {
tween.stop();
tween.rewind();
tween.start();
}
}现在我测试它: 1. Event1发生,动画正常播放2. Event2发生,动画在反向播放3. Event1 1发生,动画播放反向。
由于一些奇怪的原因,悠悠球不知何故是永久的。我知道一些解决办法,比如为每个动画创建新的吐温,检查yoyo是否已经被使用,等等。
这是预期的行为吗?在adobe中,我读到了关于begin和finish道具的文章,它们都有“在创建新的吐温实例或调用Tween.yoyo()方法时将此属性设置为参数”。我有手动重置它们吗?
我不希望使用Tweenmax、tweenlite或任何外部库。
发布于 2013-01-17 12:49:43
手册说,为了让你的孩子再次正常运行,请调用另一个yoyo()。不幸的是,吐温本身并没有提供任何提示,如果它是yoyo现在,所以你需要跟踪这个。
private var tween:Tween;
private var tween_yoyo:Boolean;
private function reverse(e:Event1) {
if (!tween_yoyo) tween.yoyo();
else {
tween.stop();
tween.rewind();
tween.start();
}
tween_yoyo=true;
}
public function normal(e:Event2) {
if (tween_yoyo) tween.yoyo();
else {
tween.stop();
tween.rewind();
tween.start();
}
tween_yoyo=false;
} https://stackoverflow.com/questions/14378288
复制相似问题