我一直在關注hitTestObject的VS hitTestPoint討論VS定製則hitTest相當長的一段時間。通常,我已經沿着使用Point的路線,給定了形狀選項。AS3:hitTestObject VS hitTestPoint的子彈VS敵人
但是 - 我現在要做的子彈擊中敵人圓形的命中測試。我目前使用的是哪種下面是:
for (var i:int = 0; i<levelHolder.enemyArray.length; i++){
if(levelHolder.enemyArray[i]){
if(this.hitTestObject(levelHolder.enemyArray[i].hit) && hit == false && distanceTravel <= range){
trace("You hit a baddie "+i)
hit = true
this.parent.removeChild(this)
var gotShot:gotshot = new gotshot() // move to sound
gotShot.play() // move to sound
levelHolder.damageEnemy(i, damage)
}
}
}
現在,很明顯這是導致子彈停在各地熱播的阿爾法地區,並將其視作一擊。
我認爲我將能夠很容易地做到以下幾點,但它不工作:
if(this.hitTestPoint(levelHolder.enemyArray[i].x, levelHolder.enemyArray[i].y, true) && hit == false && distanceTravel <= range)
...
這將導致一個非常,非常有限的命中範圍,因爲我們正在與單個X工作, Y位置。
我的問題是這樣的:我怎樣才能做到這一點更accurancy?
我應該指出,這則hitTest是bullet1.as –