移动时球员口吃 - 精灵套件

时间:2018-06-08 16:14:45

标签: swift sprite-kit swift4

我的播放器是SKSpriteNode。我正在使用CGVectorsplayer.physicsBody!.applyImpulse()移动它。这很好用,但是当我的玩家移动时,它似乎左右两侧都是口吃。所以为了解决这个问题,我尝试更改了一些physicsBody属性。在update函数中,我添加了以下代码行:player.physicsBody?.friction = 0。这仍然没有改变。所以我认为这种口吃是由于球员触地而造成的。所以我在更新函数中添加了一行新代码:player.position.y += 1。当然,由于这个解决方案的性质,玩家现在上下结巴,但能够左右移动没有问题。这告诉我,当玩家接触地面时,问题在于某种类型的力量。如何阻止玩家口吃?

编辑:我认为知道我的地面"实际上是一堆SKSpriteNode连续放在一起,使它看起来像一个tilemap。

编辑:使用以下代码行设置我的播放器物理主体:player.physicsBody = SKPhysicsBody(rectangleOf: player.size)

2 个答案:

答案 0 :(得分:1)

我找到了口吃的解决方案,只需将这行代码player.physicsBody = SKPhysicsBody(rectangleOf: player.size)更改为一个圆圈即可。通过将physicsBody设置为一个圆圈,所有的口吃都消失了,但现在我无法让我的玩家站在地面上的效果。

答案 1 :(得分:0)

您可能正在使用太多的spritenodes尝试使用SKTileMapNode。在性能方面将极大地帮助您。 youtube上有教程和raywenderlich如何使用它们。只是观看,你会发现使用起来非常简单

相关问题