Re: [問題]怎麼從as2轉成as3?

看板Flash作者 (betty)時間10年前 (2014/06/26 23:19), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串5/6 (看更多)
謝謝大大們的回答 現在把工作檔丟上來 有因此改良許多 但是~~頭髮快被抓光了! 因為~~~ 到~底~是~為~什~麼~要~彈~回~原~點~啊! https://www.sendspace.com/file/rt894c 求解惑啊! coding: var xd = mmm.x; mmm.addEventListener(Event.ENTER_FRAME, doEnterFrame); function doEnterFrame(e:Event):void { var obj = e.currentTarget; obj.x = obj.x + (xd - obj.x) * 2.000000E-001; btn1.addEventListener(MouseEvent.CLICK, doClickB1); btn2.addEventListener(MouseEvent.CLICK, doClickB2); btn3.addEventListener(MouseEvent.CLICK, doClickB3); function doClickB1(e:MouseEvent):void { mmm.x = -1445; } function doClickB2(e:MouseEvent):void { mmm.x = -11520; } function doClickB3(e:MouseEvent):void { mmm.x = -12800; } } ※ 引述《KawasumiMai (ご注文はうさぎですか)》之銘言: : ※ 引述《bettyHo (betty)》之銘言: : : 謝謝大大!!! : : 但是試過後出現下面的錯誤訊息: : : TypeError: Error #1006: loadMovie 不是函數。 : : at testtest_fla::all_1/frame2() : AS3沒有loadMovie,那是AS2特有的方法 : 要load東西 : 要使用Loader : var loader:Loader=new Loader() : loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoaded) : loader.load(new URLRequese("xx.aa")) : 原本onClipEvent : 在AS2是掛在mc上的 : 所以那時候的this會是mc本身 : 但是AS3的EventListener是寫在上一層的時間軸上的 : 所以在那個時間軸的this,就不會是mc,可能是stage或TimeLine : addEventListener要掛在物件上才有效果 : 不知道你的mmm是否就是mc本身 : mmm.addEventListener(Event.ENTER_FRAME,doClick1) : (為什麼EnterFrame的function會叫doClick?) : function doClick1(e:Event){ : //這裡面的e是事件本身 : //e.currentTarget則是呼叫的事件主,以這個例子來說等於mmm : //如果多個物件呼叫同一個function,可以利用e.currentTarget判斷來源 : var obj=e.currentTarget //方便取用 : obj.x = obj.x + (xd - obj.x) * 2.000000E-001; : //obj.x相當於原本掛在上面的this.x : } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 119.14.48.233 ※ 文章網址: http://www.ptt.cc/bbs/Flash/M.1403795991.A.CC1.html

06/27 01:33, , 1F
4個event包在EF裡面?
06/27 01:33, 1F

06/27 01:34, , 2F
你可以在外面先加不然每frame都加一次沒問題嗎?
06/27 01:34, 2F

06/27 10:58, , 3F
k大說的是真的,這個作法問題很大
06/27 10:58, 3F
文章代碼(AID): #1Jh3eNp1 (Flash)
文章代碼(AID): #1Jh3eNp1 (Flash)