如何在corona中的触摸事件上动态调用物理removeBody函数。

当我单击一个对象时,我想调用 removeBody 函数。一旦我点击了对象,removeBody 函数必须在对象上调用,然后当我释放鼠标后,它必须再次表现得像一个物理对象。这是我正在尝试的代码。请给出任何建议。

local function removephysics(objId)
   physics.removeBody(objId)
end

local Bodyobject={density=3.0, friction=0.2, bounce=0.3, radius=20}

object1=display.newImage("img1.png")
object1.x=325
object1.y=200
object1.id="obj"
physics.addBody(object1,Bodyobject)
object1.addEventListener("touch",removephysics)
点赞
用户1682268
用户1682268

你可以使用 event.phase 来获取触摸监听器的状态。看一下这段代码:

physics = require("physics")
physics.start()

local Bodyobject={density=3.0, friction=0.2, bounce=0.3, radius=20}
function removephysics(event)
   if event.phase == "began" then
      physics.removeBody(object1)
   elseif event.phase == "ended" then
      physics.addBody(object1,Bodyobject)
   end
end

object1=display.newImage("img1.png")
object1.x=325
object1.y=200
object1.id="obj"
physics.addBody(object1,Bodyobject)
object1:addEventListener("touch",removephysics)
2013-08-04 02:19:52