[問題] TweenEvent.MOTION_FINISH只會執行一次

看板Flash作者 (哆啦泰瑞)時間16年前 (2009/08/02 01:19), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
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)

08/02 01:26, , 1F
jump()裡面的myTween = new Tween()就把myTween指到一個
08/02 01:26, 1F

08/02 01:26, , 2F
新的Tween物件了,所以監聽舊的myTween沒有用
08/02 01:26, 2F

08/02 02:58, , 3F
非常感謝!!!!!!
08/02 02:58, 3F
文章代碼(AID): #1AT7ahpm (Flash)