作者terrywang (拼)
看板Flash
標題[問題] 請問關務物件反彈
時間Thu Jul 12 14:34:57 2012
各位先進午安
我是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
1F:推 jeaby:判斷碰牆壁後 rnd *= -1 就可以了 07/12 15:23
2F:→ terrywang:謝謝先進解惑 M(_ _)M 07/12 17:52
3F:→ KawasumiMai:建議變數要細分清楚用途 07/13 15:20
4F:→ KawasumiMai:rnd看起來是距離,不要讓她亂變正負號 07/13 15:21
5F:→ KawasumiMai:設定一個像是way的變數,讓他代表物件的方向 07/13 15:21
6F:→ KawasumiMai:如果不是球,則物件會有scaleX的差別 07/13 15:22
7F:→ KawasumiMai:因為AS3滿值是1而非100,所以可以取代way的功能 07/13 15:22
8F:→ KawasumiMai:移動的話a_mc.x+=rnd*a_mc.sclaeX,操控正負號 07/13 15:23
9F:→ KawasumiMai:不管撞到左右哪邊,則讓a_mc.scaleX=-a_mc.scaleX反號 07/13 15:23