作者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