我试图在我的场景中拖动一个重力= 0,0的动态物体,我有一个体型动态的正方形和一个静止的体型的图像,但是当在图像上拖动正方形时这有一点力量但是可以超过图像并像图像一样传递到
这是我拖动方块的代码:
local function dragBody( event )
local body = event.target
local phase = event.phase
local stage = display.getCurrentStage()
if "began" == phase then
stage:setFocus( body, event.id )
body.isFocus = true
body.tempJoint = physics.newJoint( "touch", body, event.x, event.y )
elseif body.isFocus then
if "moved" == phase then
body.tempJoint:setTarget( event.x, event.y )
elseif "ended" == phase or "cancelled" == phase then
stage:setFocus( body, nil )
body.isFocus = false
body.tempJoint:removeSelf()
end
end
return true
end
这是创建对象的代码:
function scene:createScene( event )
local group = self.view
my_square = display.newImage("square.png")
my_square.x = 60
my_square.y = 60
physics.addBody(my_square, "dynamic" )
group:insert(my_square)
floor = display.newImage("piso.png")
floor.x = 160
floor.y = 240
physics.addBody(floor, "static" )
group:insert(floor)
end
感谢帮助.
当你手动移动一个物体时,你这样做是不受物理控制的,基本上你可以强迫物体移过静止物体.你可以做的是设置碰撞检测,当你移动方形时会给你一个事件,告诉你什么时候停止移动.当然,如果你不遵守移动代码,你可以继续移动你的对象.
