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

では、ゲームが開始された後にオブジェクト Furry の更新された位置 (x、y) を取得するにはどうすればよいでしょうか?

4

1 に答える 1

0

Runtime ListenerenterFrameを使用してオブジェクトの場所を検出できます。以下のコードを参照してください。

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 に答える