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.