[問題] 請問關務物件反彈

看板Flash作者 (拼)時間12年前 (2012/07/12 14:35), 編輯推噓1(108)
留言9則, 3人參與, 最新討論串1/1
各位先進午安 我是AS3.0新手 最近在練習AS遇到一個小問題 還希望版上先進解惑.. 我有一個物件要讓它從最左邊開始跑之後 碰到最右邊再跑回到最左邊 類似反彈的動作 但...只有X軸方向 參考了一些範例 但..不管怎麼修改 該物件都不會彈到左邊 還請各位先進解惑.. code如下 還請各位幫忙看一下了.. import flash.display.MovieClip; import flash.events.Event; var left=0; var right=550; var rnd:int = 2+int(Math.random()*3); a_mc.addEventListener(Event.ENTER_FRAME, myEnterFrame); function myEnterFrame(event:Event):void { wallcheck(); } function wallcheck(){ a_mc.x += rnd; if(a_mc.x>right - a_mc.width/2){ a_mc.x=right-a_mc.width/2; a_mc.x -= rnd; //這一段的目地是想要當物件在跑時當該物件跑到舞台最右邊後 //該物件會往左彈 }else if (a_mc.x < left+a_mc.width/2){ a_mc.x=left+a_mc.width/2; a_mc.x += rnd; //這一段的目地試想要當物件跑到舞台最左邊後 會再往右邊彈 } } 還請版上先進解惑了..感恩 M(_ _)M -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.10.9

07/12 15:23, , 1F
判斷碰牆壁後 rnd *= -1 就可以了
07/12 15:23, 1F

07/12 17:52, , 2F
謝謝先進解惑 M(_ _)M
07/12 17:52, 2F

07/13 15:20, , 3F
建議變數要細分清楚用途
07/13 15:20, 3F

07/13 15:21, , 4F
rnd看起來是距離,不要讓她亂變正負號
07/13 15:21, 4F

07/13 15:21, , 5F
設定一個像是way的變數,讓他代表物件的方向
07/13 15:21, 5F

07/13 15:22, , 6F
如果不是球,則物件會有scaleX的差別
07/13 15:22, 6F

07/13 15:22, , 7F
因為AS3滿值是1而非100,所以可以取代way的功能
07/13 15:22, 7F

07/13 15:23, , 8F
移動的話a_mc.x+=rnd*a_mc.sclaeX,操控正負號
07/13 15:23, 8F

07/13 15:23, , 9F
不管撞到左右哪邊,則讓a_mc.scaleX=-a_mc.scaleX反號
07/13 15:23, 9F
文章代碼(AID): #1F_d0P4p (Flash)