2013-10-21 14 views
0

我想更改Corona中的drawMode。它只在身體剛開始落地時才起作用。當身體躺在地上時,我無法改變繪製模式。有人可以幫我嗎?這裏是onKeyEvent函數的代碼。在Corona中使用setDrawMode更改drawMode

local physics = require "physics" 

function onKeyEvent(event) 

if (event.keyName == "d") then 
    physics.setDrawMode("debug"); 
end 

if (event.keyName == "n") then 
    physics.setDrawMode("normal"); 
end 

if (event.keyName == "h") then 
    physics.setDrawMode("hybrid"); 
end 

end 

Runtime:addEventListener("key", onKeyEvent); 

physics.start(); 
physics.setScale(60) 
physics.setGravity(0, 9.8) -- initial gravity points downwards 


local groundIm = display.newRect(0, 400, 320, 20); 
groundIm:setFillColor(255, 255, 255); 
local ground = physics.addBody(groundIm, "static", {friction = 0.5}); 

local boxIm = display.newRect(100,100,30,30); 
boxIm:setFillColor(0, 0, 255); 

local triangleShape = { 0,-35, 37,30, -37,30 }; 

local body = physics.addBody(boxIm, "dynamic", {shape = triangleShape}); 
+0

你好彼得,你確定的關鍵事件被稱爲在上面的代碼? –

+0

你好,是的,我確定:) – Petr

回答

0

只需添加這行代碼,一切都應該工作

boxIm.isSleepingAllowed = false 
+0

謝謝,它現在有效。但爲什麼它不適用於睡覺的身體?我不明白爲什麼它不應該。 – Petr

+0

我也覺得這很奇怪。真的不知道爲什麼。就像所有屍體睡覺時物理停止一樣。我認爲這是一個錯誤。 –

+0

好的。你知道科羅娜還有其他一些物理錯誤嗎? (一旦我讀了一些關於錯誤關節的東西)我想製作一個遊戲,但我不想太遲地發現物理學不能正常工作:) – Petr

相關問題