作者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
→ KanoLoa:把 if(root['slo3_mc']){ 這行 還有 最下面 } 去掉看看 07/31 23:38
推 KawasumiMai:隊長比較小?移動速度太快? 08/01 10:26
→ KawasumiMai:hitTestObject不行可以試試看hitTestPoint 08/01 10:26