2013-04-21 87 views
0

我想知道如何用物理探測物體的方向,我的意思是什麼時候掉下來。可以通過eventListener嗎?任何想法如何做到這一點?電暈:如何用物理探測物體的方向

我需要知道我可以更改spriteSheet。

謝謝。

+0

爲什麼你需要檢測?你想要做什麼? – 2013-04-21 01:35:30

+0

我有一個物理的噴氣機,似乎從左到右,並觸摸屏幕,我給它上升的權力(這就像典型的樣本),所以我想要檢測(Y)中的時間在增加,降低改變SpriteSheet並模擬射流轉向。這就是我想要做的。你認爲一個好方法或有更好的方法來做到這一點,以及如何? 謝謝@ Mr-D – benLIVE 2013-04-21 11:04:02

+0

任何想法how @Mr D。 – benLIVE 2013-04-21 23:48:00

回答

2

基礎上找到一個物體速度的精確角度你會打電話:

local angle = atan2(xVelocity, yVelocity) 

這將返回角的弧度,然後你就可以轉換爲度。這可以更精確地控制對象。丹尼爾Shiffman在http://natureofcode.com/book/寫了一本很好的書涉及物理模擬的許多方面。

1

試試這個:

local xVelocity, yVelocity 
local upDown, leftRight   -- upDown = 1 for up, leftRight = 1 for left 
.... 
-- Get speed of physics object here (Assume normal orientation --- 
    xVelocity, yVelocity = physicsObject:getLinearVelocity() 
    if xVelocity > 0 then 
     print("Object goes right") 
     leftRight = 0 
    end 
    if xVelocity < 0 then 
     print("Object goes left") 
     leftRight = 1 
    end 
    if yVelocity > 0 then 
     print("Object goes down") 
     upDown = 0 
    end 
    if yVelocity < 0 then 
     print("Object goes up") 
     upDown = 1 
    end 
----------------------------------- 
+0

Thanks @ dogancan-arabaci – benLIVE 2013-04-23 00:45:00