【问题标题】:SpriteKit adjacent edge collision bounce issueSpriteKit 相邻边缘碰撞反弹问题
【发布时间】:2020-03-03 14:35:40
【问题描述】:

我正在使用 SpriteKit 创建一个简单的突围游戏,但我遇到了一个问题,即即使它们彼此相邻堆叠,球似乎也会从砖的边缘击出。

球应该像从光滑表面弹起一样弹跳,但是,几乎就像在球第一次接触之后才完全实现砖的物理体一样。

我尝试了几种方法来解决问题,例如将砖块重叠几个像素,打开 usesPreciseCollisionDetection。但是,这些似乎没有任何效果。

这就是我创建砖块物理实体的方式:

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

是我遗漏了什么,还是 SpriteKit 的问题?

Image of issue

【问题讨论】:

  • 没有跟随你...除了边缘之外,你如何反弹?

标签: swift sprite-kit 2d game-physics skphysicsbody


【解决方案1】:

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

如果你看这个例子: https://github.com/Maetschl/SpriteKitExamples/tree/master/BouncingBalls

第二个球有一个角速度,这改变了反弹的方向:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-29
    • 2015-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多