我有從上方落下的塊和在地板上的移動立方體之間的碰撞排除的對象。問題是,無論何時我做多維數據集:addEventListener(「碰撞」,onCollision),立方體碰到地板,電暈認爲這是碰撞。 block:addEventListener也是一樣。由於立方體正在移動的事實,塊並不總是碰到立方體,但碰到地板,電暈檢測到碰撞。從碰撞
我也有一個循環回事產卵塊。有沒有辦法在發生碰撞時禁用此循環,因爲它會不斷產生區塊。
這是我的代碼:你認同&執行相應的動作發生了碰撞對象塊
function blockremove()
display.remove(block)
timer.performWithDelay(1000, blockspawn)
end
function collision(event)
if(event.phase == "began") then
display.remove(cube)
display.remove(block)
gameover = display.newText("Game Over", display.contentCenterX, display.contentCenterY, native.systemFontBold, 36)
gameover:setFillColor(1,0,0)
end
end
function blockspawn()
block = display.newRect(0, 0, 50, 50)
block:setFillColor(1,0,0)
block.x = math.random(50, display.contentWidth -50)
block.y = -50
physics.addBody(block, {density=50, friction=0, bounce=0.3})
timer.performWithDelay(3000, blockremove)
block:addEventListener("collision", collision)
end
你說你有多次碰撞可能(塊地板,立方體,地板,塊立方體),並不能找到一種方法來區分他們?不清楚問題是什麼。此外,我建議你保持獨立的問題,在我看來,「禁用循環」問題與第一個完全不同。 – Schollii
是的,那是另外一個問題,我會盡量不要再問在同一職位兩個問題,是的,我有3個對象:地板,那地板上,從空中落下的方塊移動的立方體,我想要的遊戲結束時,塊落在立方體,但我希望它繼續落在地板上時。 – Yupie