[問題] 1對多碰撞偵測

看板Flash作者 (阿勳)時間13年前 (2012/07/31 21:57), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
上次的問題解決後又遇上一個問題了 我的主角碰到不同敵人的碰撞 //----------------------------------------------------------------- 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

07/31 23:38, , 1F
把 if(root['slo3_mc']){ 這行 還有 最下面 } 去掉看看
07/31 23:38, 1F

08/01 10:26, , 2F
隊長比較小?移動速度太快?
08/01 10:26, 2F

08/01 10:26, , 3F
hitTestObject不行可以試試看hitTestPoint
08/01 10:26, 3F
文章代碼(AID): #1G5-HIRp (Flash)
文章代碼(AID): #1G5-HIRp (Flash)