Corona sdk:当主对象碰到障碍物时播放声音



我想在球击中特定物体(透明障碍物)或通过特定区域时播放特定的声音。

    function onCollision(event)
    if event.phase == "began" then 
    storyboard.gotoScene("restart", "fade", 400)

    end`
    end

`ball = display.newImage("ball.png") --main object code
ball.x = 100; ball.y = 100
physics.addBody(ball, "dynamic", {density=.05, bounce=0.1, friction=.2, radius=12})
screenGroup:insert(ball)`

--Obstacles code


`obst1 = display.newImage("obst1.png")
obst1.x = 640; obst1.y = -500
obst1.speed = 2
physics.addBody(obst1, "static", {friction=0.5, bounce=0.3, density=.1 })
screenGroup:insert(obst1)`
`missile1 = display.newImage("missile.png")
missile1.x = 700; missile1.y = math.random(5,1090)
missile1.speed = math.random(2,6)
missile1.initY = missile1.y
missile1.amp = math.random(20,100)
physics.addBody(missile1, "static", {density=0.1, bounce=0.1, friction=.2, radius=12})
screenGroup:insert(missile1)
missile1.angle = math.random(20,100)`

那么我如何才能让球与另一个物体碰撞并在不停止游戏的情况下发出声音(在碰撞功能中,当物体碰撞时,它会进入重新开始屏幕)

非常感谢……

因为你对Corona很陌生,所以我想给你一些建议和指导:

首先你应该知道如何检测碰撞:物理体之后,你应该知道如何处理碰撞事件:碰撞和碰撞检测然后你应该知道如何播放声音:Sound play

以下是我自己编写的一款游戏中的例子:
--implement the physics for the project
local physics = require "physics";
physics.start()
...
-- stones pics
stone1 = stons_shape[stoneNumber][2]
stone2 = stons_shape[stoneNumber][2]
stone3 = stons_shape[stoneNumber][2]
-- stones physics
physics.addBody (stone1,"Dynamic", stons_shape[stoneNumber][1]:get(stons_shape[stoneNumber][0]))
physics.addBody (stone2,"Dynamic", stons_shape[stoneNumber][1]:get(stons_shape[stoneNumber][0]))
physics.addBody (stone3,"Dynamic", stons_shape[stoneNumber][1]:get(stons_shape[stoneNumber][0]))
-- stones property
stone1.linearDamping = stons_shape[stoneNumber][5] * 0.03
stone1.angularDamping= 1.5
stone1.power = stons_shape[stoneNumber][3]

function onCollision (event)
    if(event.object2.myName=="stone1")or(event.object2.myName=="stone2")or(event.object2.myName=="stone3") then
        -- here one stone touches another and 
        -- and so you can play a sound 
    end
end
--"onCollision" event is for all objects having collision on each other
Runtime:addEventListener( "collision", onCollision)

最新更新