Lua 动态对象碰撞行为

Lua 动态对象碰撞行为,lua,coronasdk,Lua,Coronasdk,我在场景中有两个动态物体,实际上这是两个球。但我不喜欢这种碰撞行为,例如当他们发生碰撞时,一个球变快,一个球变慢,有时一个球完全停了下来。我知道这是正常的,根据物理规则,但我想要静态速度,即使它们发生碰撞。实际上我是在CoronalLabs中开发的,下面是我如何添加两个球的代码 ball1 = display.newCircle(ballx, bally, ball_radius) physics.addBody( ball1, "dynamic", { bounce = 1, dens

我在场景中有两个动态物体,实际上这是两个球。但我不喜欢这种碰撞行为,例如当他们发生碰撞时,一个球变快,一个球变慢,有时一个球完全停了下来。我知道这是正常的,根据物理规则,但我想要静态速度,即使它们发生碰撞。实际上我是在CoronalLabs中开发的,下面是我如何添加两个球的代码

  ball1 = display.newCircle(ballx, bally, ball_radius)
  physics.addBody( ball1, "dynamic", { bounce = 1, density =1, friction = 0, radius = ball_radius } )
  ball1:setFillColor( 255,215,0 )
  ball1:setLinearVelocity(500,500)

  ball2 = display.newCircle(ballx+5, bally+25, ball_radius)
  physics.addBody( ball2, "dynamic", { bounce = 1, density =1, friction = 0, radius = ball_radius } )
  ball2:setFillColor( 255,0,0 )
  ball2:setLinearVelocity(500,500)

这应该可以通过简单地将密度更改为0并反弹为1来实现

physics.addBody( ball, "dynamic", { bounce = 1, density = 0, friction = 0, radius = ball_radius } )
另一种方法是使用碰撞检测在碰撞后设置setLinearVelocity。这样一来,失去的力会立即恢复到碰撞后球的移动速度,但会以新的方向移动