【发布时间】:2013-01-25 06:57:37
【问题描述】:
我正在使用电晕 SDK 做一个物理应用程序。在那,我正在创建一个带有关节的组合物理体。我需要的是:'我需要用它的中心旋转新的组合体'。我正在给出代码。任何人都请帮助...
--------------------------------------------------------------------------------------
local physics = require( "physics" )
physics.start()
physics.setDrawMode("debug")
---------------------------
-- Creating bodies --
---------------------------
local body_1 = display.newRect(0,0,40,40)
local body_2 = display.newRect(0,0,40,40)
local body_3 = display.newRect(0,0,40,40)
local base_1 = display.newRect(0,display.contentHeight,display.contentWidth,display.contentHeight)
body_1.x = 100; body_1.y = 250;
body_2.x = 100; body_2.y = 300;
body_3.x = 150; body_3.y = 275;
---------------------------
-- Adding Physics --
---------------------------
physics.addBody( body_1, { density=1.6, friction=0.5, bounce=0.0} )
physics.addBody( body_2, { density=1.6, friction=0.5, bounce=0.0} )
physics.addBody( body_3, { density=1.6, friction=0.5, bounce=0.02, radius = 20} )
physics.addBody( base_1, "static", { density=1.6, friction=0.5, bounce=0.2} )
---------------------------
-- Creating Joints --
---------------------------
local myJoint_1 = physics.newJoint( "weld", body_1, body_2, 100,250 )
local myJoint_2 = physics.newJoint( "pivot", body_1, body_3, 100,250 )
local myJoint_2 = physics.newJoint( "pivot", body_2, body_3, 100,300 )
---------------------------
-- My Function --
---------------------------
local function rotateTheGroup()
-- I want to rotate the combined body here. And I need to know the newBodie's referencepoint.
end
Runtime:addEventListener("tap",rotateTheGroup)
--------------------------------------------------------------------------------------
提前谢谢...
【问题讨论】:
-
您需要帮助围绕轴旋转身体吗? 或选择轴?
-
@Beta : 你好,我需要围绕它的轴旋转身体。
-
好吧,我们可以将问题简化为围绕轴旋转一个简单的物体(并对组合体的三个元素中的每一个都这样做)。这似乎是二维的,所以问题是:给定一个物体、一个角度和一个点,在我们围绕该点将物体旋转该角度后,找到物体的新位置(
x和y)。对吗? -
@Beta:是的。在这里,我需要相对于它的中心旋转整个身体。如果您有任何线索,请澄清。谢谢。
标签: android rotation physics coronasdk