我有一個物理機構,我希望它朝着它面對的方向前進。我只是十三歲,我希望解釋爲什麼我在三角學上如此糟糕。任何人都可以告訴我如何在Corona做到這一點?Corona SDK:如何讓對象向前移動?
回答
我會假設你想用武力把你的對象。無論哪種方式,我們都需要獲得身體所面向的方向的x和y分量。以下是如何得到的旋轉角度的X和Y:
-- body is your physics body
local angle = math.rad(body.rotation) -- we need angle in radians
local xComp = math.cos(angle) -- the x component
local yComp = -math.sin(angle) -- the y component is negative because
-- "up" the screen is negative
(注意:如果這個不給相對方向,你可能需要90,180,或270度添加到您的角度,例如:math.rad(body.rotation + 90))
上面的代碼會給你在旋轉方向上的unit vector的x和y分量。你可能也需要一些乘數來獲得你想要的力量。
local forceMag = 0.5 -- change this value to apply more or less force
-- now apply the force
body:applyLinearImpulse(forceMag*xComp, forceMag*yComp, body.x, body.y)
這裏是我得到的數學:http://www.mathopenref.com/trigprobslantangle.html。使用單位矢量簡化了數學運算,因爲斜邊總是爲1
謝謝!很棒。 – Jutanium 2012-07-06 18:19:47
呃。你不需要三角學就可以移動物體。
添加
object:translate(distanceToMoveInXAxis,distanceToMoveInYAxis)
或者,如果要執行的過渡,
transition.to(object,{x=object.x + distanceToMoveInXAxis,y=object.y + distanceToMoveInYAxis})
他需要數學來計算從面對和速度/移動距離的X,Y移動平移。例如,如果他的對象是200,56,面對的角度是30°(時鐘上的第一隻手),並且我們想要移動62個像素,那麼他對'object:translate'的參數是什麼? – Mud 2012-07-05 20:15:19
- 1. Corona SDK:如何使對象移動
- 2. 試圖讓一個對象向用戶滑動的方向移動:Corona SDK
- 3. 如何減慢物理對象在Corona SDK中的移動
- 4. 如何在corona sdk中創建,移動和移除動態對象?
- 5. 如何在corona sdk中移動物體?
- 6. 如何關注Corona SDK中的對象
- 7. Corona SDK如何刪除一個對象?
- 8. Corona sdk場景移動
- 9. 如何使用lua與corona sdk向上移動身體?
- 10. 如何用Corona SDK有效處理對象的移除?
- 11. Corona SDK對象路徑
- 12. Corona SDK,當對象正在移動時臨時禁用eventListeners
- 13. Corona Labs - 如何移除所有對象?
- 14. Corona SDK:向上和向下移動播放器
- 15. 在Corona SDK中,如何讓對象在觸摸背景屏幕的同時繼續移動?
- 16. 同時向前,向左,向右自動移動對象
- 17. Corona sdk阻止球的移動
- 18. D-PAD或遊戲杆移動Corona SDK
- 19. 如何創建使對象在Corona中移動的按鈕
- 20. 從Corona SDK中的事件中移除對象
- 21. 如何讓光標在QT中向前/向後移動?
- 22. Corona SDK偏移量不好
- 23. 如何在Three.js中向前移動對象?
- 24. 在Corona SDK中點擊顯示對象
- 25. 轉換對象兩次? (Corona SDK)
- 26. Corona SDK:導演類和分組對象
- 27. Corona SDK:延遲後刪除對象
- 28. Corona SDK,帶顯示對象的OOP
- 29. 如何將JSON對象向上移動
- 30. Corona SDK動畫newImageRect
查看最新評論[here](http://developer.coronalabs.com/forum/2012/01/28/help-shooting-bullets),這可能是你正在尋找的東西。 – brando 2012-07-05 15:12:41