SpriteKit相邻边缘碰撞反弹问题

问题描述 投票:0回答:1

[我正在使用SpriteKit创建一个简单的突破游戏,并且遇到了一个问题,即使将它们堆叠在一起,球似乎也击中了砖的边缘。

[球应该从光滑的表面弹起,但是,直到球第一次接触之后,砖的物理物体才完全意识到。

我已经尝试了多种方法来解决该问题,例如将砖块重叠几个像素,然后启用usesPreciseCollisionDetection。但是,这些似乎没有任何作用。

这就是我创建积木的物理物体的方式:

brick.physicsBody = SKPhysicsBody(rectangleOf: brick.frame.size)

我是否缺少某些东西,或者这是SpriteKit的问题?

Image of issue

swift sprite-kit 2d game-physics skphysicsbody
1个回答
0
投票

拳头接触球后可能会获得角速度,这会改变您预期的弹跳。

如果您看此示例:https://github.com/Maetschl/SpriteKitExamples/tree/master/BouncingBalls

第二个球的角速度,这会改变弹跳的方向:

enter image description here

检查此属性:ballNode.physicsBody?.angularVelocity设为0。

© www.soinside.com 2019 - 2024. All rights reserved.