如何让多个乒乓球反弹

时间:2013-07-22 19:33:53

标签: android iphone corona

嘿伙计们,我想在屏幕上放两个或更多的乒乓球,让它们反弹回来。我希望乒乓球比赛有点不同于传统的乒乓球比赛,通过让球拍收球,球可以在屏幕周围反弹,我不希望球疯狂地疯狂,它希望它能让球弹跳在一个缓慢而美好的后殿周围。我试图让墙壁向相反的方向推球。你们能帮忙谢谢

这是代码

 function update(event)
    -- Ball Movement
    ball.x = ball.x + xSpeed
    ball.y = ball.y + ySpeed


if(ball.x < 0) then ball.x = ball.x + 3 xSpeed = -xSpeed end--Left
if((ball.x + ball.width) > display.contentWidth) then ball.x = ball.x - 3 xSpeed = -xSpeed end--Right
if(ball.y < 0) then ySpeed = -ySpeed end--Up
--if(ball.y > 0) then ySpeed = ySpeed end--Up

if((ball.y + ball.width) > display.contentWidth) then ball.y = ball.x + 300 ySpeed = -20
 end--Right

end



function bounce(e)
    ySpeed = -5
    -- Paddle Collision, check the which side of the paddle the ball hits, left, right
    if((ball.x + ball.width * 0.5) < paddle.x) then
        xSpeed = -5
    elseif((ball.x + ball.width * 0.5) >= paddle.x) then
        xSpeed = 5
    end
end


paddle:addEventListener('collision', bounce)    

Runtime:addEventListener('enterFrame', update)

此代码对我不起作用,有人可以给我一些有效的代码。此代码的另一个问题是球粘在墙上。我想让多个球在撞到墙壁时弹跳并向相反方向移动。我来自Game Salad中的游戏沙拉编程我会使用更改速度当球胶体与墙壁但在日冕更加困难我无法弄清楚我被卡住了。我是Corona的新手,我阅读了论坛和教程,但没有运气。

我很想得到一些帮助,谢谢...... :)

1 个答案:

答案 0 :(得分:1)

以这种方式实现这一目标是困难和低效的。您应该将物理库函数用于此类目的。您应该创建具有{friction = 0}属性的物理对象,然后您可以使用密度部分更改球的速度。 创建对象后,您应该使用applyForce函数来启动球的移动。