作者m87dd05 (阿勳)
看板Flash
标题[问题] 1对多碰撞侦测
时间Tue Jul 31 21:57:36 2012
上次的问题解决後又遇上一个问题了
我的主角碰到不同敌人的碰撞
//-----------------------------------------------------------------
stage.addEventListener(KeyboardEvent.KEY_DOWN,getCode);
function getCode (e:KeyboardEvent):void{
switch (e.keyCode){
/*跳跃*/ case Keyboard.UP:
root['girl_mc'].gotoAndPlay(6);
break;
/*攻击*/ case (17):
root['girl_mc'].gotoAndPlay(33);
//士兵
if(root['slo1_mc']){ //当OO存在的时候再进行判断
if (root['girl_mc'].hitTestObject(root['slo1_mc'])){
root['slo1_mc'].visible=false;
root['slo1_mc'].x=-100;
root['slo1_mc'].stop();
}
}
//队长
else if(root['slo3_mc']){ //当OO存在的时候再进行判断
if (root['slo3_mc'].hitTestObject(root['girl_mc'])){
root['slo3_mc'].visible=false;
root['slo3_mc'].x=-100;
root['slo3_mc'].stop();
}
}
break;
}
}
//----------------------
//士兵
if (root['girl_mc'].hitTestObject(root['slo1_mc'])){
girl_mc.gotoAndPlay(27); //表示执行主角元件27影格主角死亡画面
}
//队长
if(root['slo3_mc']){
if (root['girl_mc'].hitTestObject(root['slo3_mc'])){
girl_mc.gotoAndPlay(27);
}
}
士兵的碰撞成是会正常执行,可是对长的不会被执行就直接穿越了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 112.104.92.50
1F:→ KanoLoa:把 if(root['slo3_mc']){ 这行 还有 最下面 } 去掉看看 07/31 23:38
2F:推 KawasumiMai:队长比较小?移动速度太快? 08/01 10:26
3F:→ KawasumiMai:hitTestObject不行可以试试看hitTestPoint 08/01 10:26