0

嗨,我是 Corona SDK 的新手。我希望有人可以帮助我。

我使用 Corona SDK 的物理引擎有一个物体(称为毛茸茸)从天而降。

当这个对象 Furry 位于屏幕的一半时,我想播放声音效果(wee.mp3)。

我正在尝试更新 furry.x 和 furry.y 以控制更新的位置。但我不确定如何执行此操作,因为物理引擎会根据重力更新位置。

我希望下面的代码足以帮助我。

centerX = display.contentWidth * .5
centerY = display.contentHeight * .5

local furry = display.newImage("flurry.png")
furry.x = centerX-300
furry.y = centerY-1000
physics.addBody(furry, "dynamic", physicsData:get("flurry"))


if furry.x == centerX then
    audio.play(wee)
end

那么在游戏开始后我怎样才能获得我的毛茸茸对象的更新位置(x,y)?

4

1 回答 1

0

您可以使用运行时侦听器enterFrame来检测对象位置,请参见下面的代码

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

centerX = display.contentWidth * .5
centerY = display.contentHeight * .5
local function listener( event )


local furry = display.newCircle(10,10,10)
furry.x = math.random(1, display.contentWidth)
furry.y = 10
physics.addBody(furry, "dynamic")

local function removeObject()

    if furry.y > centerY then
        furry:removeSelf()
        Runtime:removeEventListener("enterFrame", removeObject)
    end

end


Runtime:addEventListener("enterFrame", removeObject)

end

timer.performWithDelay( 500, listener ,0)
于 2013-08-18T15:21:43.777 回答