作者DoraTerry (哆啦泰瑞)
看板Flash
标题[问题] TweenEvent.MOTION_FINISH只会执行一次
时间Sun Aug 2 01:19:36 2009
flash原始档:
http://ppt.cc/MJpd
我是有一个小狗在"原地"跳的影片片段叫 dog1_jump()
然後我想用 tween类别 让这个影片片段移动
让小狗看起来好像真的在跳
我的问题是 TweenEvent.MOTION_FINISH 只会被执行一次 没有反覆执行
所以小狗只跳一次就不再跳了
输出结果是--------------
select_motion()
jump()
dog_jump_done()
select_motion()
jump()
我的程式码是------------
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
var dog:Sprite =new Sprite();
var dog_jump:MovieClip=new dog1_jump(); //小狗原地跳跃的影片片段
var myTween:Tween;
//---------------------------------------------
dog.scaleX=0.3;
dog.scaleY=0.3;
dog.x=1024;
dog.y=450;
dog.addChild(dog_jump);
addChild(dog);
select_motion();
function select_motion():void {
trace("select_motion()")
jump();
}
function jump():void {
trace("jump()")
dog.removeChild(dog.getChildAt(0));
dog.addChild(dog_jump);
myTween = new Tween(dog, "x", Strong.easeInOut, dog.x, dog.x-80, 2,
false);
}
myTween.addEventListener(TweenEvent.MOTION_FINISH, dog_jump_done);
function dog_jump_done(event:TweenEvent ):void {
trace("dog_jump_done()")
dog.x-=80;
select_motion();
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.41.70.229
※ 编辑: DoraTerry 来自: 114.41.70.229 (08/02 01:23)
1F:推 cjcat2266:jump()里面的myTween = new Tween()就把myTween指到一个 08/02 01:26
2F:→ cjcat2266:新的Tween物件了,所以监听旧的myTween没有用 08/02 01:26
3F:→ DoraTerry:非常感谢!!!!!! 08/02 02:58