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

作者: bettyHo (betty)   2014-06-26 23:19:47
謝謝大大們的回答
現在把工作檔丟上來
有因此改良許多
但是~~頭髮快被抓光了!
因為~~~
到~底~是~為~什~麼~要~彈~回~原~點~啊!
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
: }
作者: KawasumiMai (さあ、死ぬがいい)   2014-06-27 01:33:00
4個event包在EF裡面?你可以在外面先加不然每frame都加一次沒問題嗎?
作者: mucoci (奇寶~)   2014-06-27 10:58:00
k大說的是真的,這個作法問題很大

Links booklink

Contact Us: admin [ a t ] ucptt.com