0

FrogActionsScript 3碰撞

我正在開發一個Flash遊戲叫青蛙,此刻我的代碼爲我的青蛙和蒼蠅沒有按預期工作之間的碰撞。我想要它,所以它的作用類似於下面鏈接的方法(最後一個例子)。

Collision detection methods, hitTest and hitTestObject alternatives

任何幫助,將不勝感激。

function hitTargetFunction():void { 
    for (i = 0; i < insectsMC.length; i++) { 
     for (j = 0; j < insectsMC[i].length; j++) { 
      if (frogMC.hitTestObject(insectsMC[i][j])) { 
       trace('Target: ' + insectsMC[i][j].name); 
       score += 1; 
       trace('Score: '+score); 
       insectsMC[i][j].x = 0 - insectsMC[i][j].width * 2; 
      } 
     } 
    } 
} 
+0

什麼**錯**? – 2012-04-27 12:52:55

+0

@SamDeHaan基本上這段代碼在一個正方形的對象周圍增加了一個「邊界框」,但是,我不想將我的影片剪輯的「空白」部分視爲碰撞。 – 2012-04-27 12:55:36

+0

如果沒有辦法解決這個問題,我想我會在移動滑塊內創建一個小電影剪輯,並將它放在青蛙舌頭的末端,並用它代替整個青蛙。 – 2012-04-27 13:05:27

回答

1

在這種情況下,在青蛙動畫片段內創建一個movieclip/sprite可能是最適合你的。 PixelPerfectCollision非常棒,非常實用(不過在較大的遊戲中,價格昂貴),但碰撞會與任何一塊青蛙相撞。你當然可以分開你的青蛙movieclip,只是在舌頭上做PixelPerfectCollision。但是,如果這是課程,我會堅持在青蛙內部的某種顯示對象上執行hitTest()。

2

我可以建議嘗試一下夢幻般的Collision Detection Kit

我相信它會做你需要的一切和更多。它也是AS3,它是你的代碼示例的代碼,所以我希望你覺得它很有用。

+0

我會接受這個答案,因爲它是最好的解決方案,儘管我正在做這個課程,不幸的是不能真正使用這個代碼。 – 2012-04-27 13:34:33