我正在开发一款使用 swift Sprite 套件的游戏。但是我遇到了一个问题,正如您在图片中看到的那样,我有许多大小相同的物理 block 对齐。当我将这个积木滑到其他积木上方时,有时他会卡住或小跳。 似乎肉身有时会重叠。 任何人都知道如何修复它以使其具有连续且不精确的运动?
一些物理特性:
player.physicsBody?.friction = 0.0
player.physicsBody?.restitution = 0.00
player.physicsBody?.linearDamping = 0.1
player.physicsBody?.angularDamping = 0.0
player.physicsBody?.allowsRotation = false
player.physicsBody?.velocity.dx = 0
player.physicsBody?.velocity.dy = 0
player.physicsBody?.categoryBitMask = heroCategory
player.physicsBody?.contactTestBitMask = enemyCategory
player.physicsBody?.density = 2.3
最佳答案
这个问题似乎只是物理引擎的一个小缺陷(嘿,这是一个模拟,并不完全准确,我以前遇到过这种事情)。我看到您正在阻止播放器旋转,因此您可以将正方形 player
的物理体更改为圆形。这应该是这样的:
player.physicsBody = SKPhysicsBody(circleOfRadius: 10)
将 10 替换为您的 player
的适当半径。这应该可以消除您遇到的颠簸。
关于ios - Sprite Kit - 将 body 滑过其他人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33004363/