注意:我已经尝试过以下答案:Gap between SKSpriteNodes in SpriteKit collision detection

在让我的游戏运行5分钟之后,我的SKSpriteNodes之间出现了差距。这是我制作节点的代码:

let tileNode = SKSpriteNode(imageNamed: "world1Tile\(tileNumber).png")
tileNode.position.x = x
tileNode.position.y = y
tileNode.size.width = 128
tileNode.size.height = 128
tileNode.zPosition = 10
tileNode.physicsBody = SKPhysicsBody(rectangleOf: tileNode.size)
tileNode.physicsBody!.isDynamic = false
tileNode.physicsBody!.restitution = 0
tileNode.physicsBody!.allowsRotation = false
tileNode.name = "Tile"
row.append(tileNode)

当我移除物理物体时,它运行良好。以下是一些图片,向您展示我的意思:
ios - SKSpriteNode之间出现奇怪的差距-Swift-LMLPHP

该图像具有物理结构,是在运行该应用程序后立即拍摄的。

ios - SKSpriteNode之间出现奇怪的差距-Swift-LMLPHP

该图像是在运行应用程序5分钟后拍摄的。

为什么会这样呢?我认为这与物理物体有关,因为我的应用看起来与第一张图片完全相同,即使没有物理物体,即使在运行该应用一个小时后,它也是如此。我应该改变什么物理属性来阻止这种情况的发生?任何帮助,将不胜感激。

最佳答案

我猜没有差距。您可能在gameviewcontroller中将'showPhysics'设置为true,这条线对我来说是空白。

比较有无铅的位置以进行验证。

10-08 05:28