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

看板Flash作者 (ご注文はうさぎですか)時間10年前 (2014/06/26 20:57), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/6 (看更多)
※ 引述《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")) : ※ 引述《bettyHo (betty)》之銘言: : : 想詢問各位大大 : : 下面這一段 : : 改怎麼轉成as3? : : onClipEvent (load) : : { : : xd = this._x; : : } : : onClipEvent (enterFrame) : : { : : this._x = this._x + (xd - this._x) * 2.000000E-001; : : } : : 我已經手動轉過了 : : 失敗了~~ : : = = : : 自己轉的結果: : : var xd = this._x; : : mmm.addEventListener(Event.ENTER_FRAME, doClick1); : : function doClick1(e:Event):void{ : : this._x = this._x + (xd - this._x) * 2.000000E-001; : : } : : 哪裡錯了? : : 抓頭髮中 原本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), 來自: 114.42.109.83 ※ 文章網址: http://www.ptt.cc/bbs/Flash/M.1403787468.A.CF3.html
文章代碼(AID): #1Jh1ZCpp (Flash)
討論串 (同標題文章)
文章代碼(AID): #1Jh1ZCpp (Flash)