使用Corona SDK防止碰撞移动

时间:2015-08-18 15:50:53

标签: lua corona

我正在制作一款游戏,其中我有一个静态"在屏幕上,所以他们不会对重力做出反应,同时,物体会从顶部掉落并与它们发生碰撞。那部分都很好。但是,我希望碰撞导致静态物体根据碰撞的速度/角度旋转,但不会像飞离屏幕那样以任何其他方式响应。

有没有办法阻止静态物体反弹而只是旋转到位?

1 个答案:

答案 0 :(得分:1)

您的静态对象仍然存在碰撞事件。因此,您可以自己捕捉这些事件并旋转对象。

另一种方式是:使用动态的身体。但是当他们添加身体设置反弹到0;所以他们不会反弹。关于重力,您可以将gravityScale设置为0以使它们不对重力作出反应

请记住:静态物体不能通过物理移动或旋转。你必须自己做。您可以通过设置'gravityScale'和'bounce'属性来阻止动态物体在重力作用下弹跳或坠落

此外,如果您不希望它被推送,请捕获具有正确阶段的碰撞事件(属于您的情况)并将其设置为linearVelocity为(0,0)

我之前没有尝试过,但也许你可以把它变成一个动态对象但是链接到一个静态对象(比如一个帖子的轮子链接)。所以它不能移动但在碰撞时仍然会旋转

P / S:我做了一个测试并且有效。使您的对象像动态球并将它们链接到静态对象。它们现在无法移动,但在碰撞时会旋转。