【发布时间】:2015-01-23 01:52:39
【问题描述】:
我正在尝试编写 SpriteKit 游戏,但很快就遇到了问题。正如您在下面看到的,我在屏幕上绘制了大约 350 个简单节点。这会在我的 iPhone 6+ 上产生 ~25fps。
基本上我只是创建Section 对象(这是一个 SKNode),在每个对象中我循环 20 次并添加各个块。块在屏幕上缓慢移动。我不确定从哪里开始调试或显示代码的哪一部分,所以这里是附加块的 Section 类的摘录:
for i in 1...20 {
let left = SKShapeNode(rectOfSize: CGSize(width: n, height: n))
left.fillColor = randomColor()
left.physicsBody = SKPhysicsBody(rectangleOfSize: CGSize(width: n - 1, height: n - 1))
left.physicsBody?.dynamic = false
left.position.x = (CGFloat(i) * n) - (size.width/2 + n/2)
row.addChild(left)
cubes.append(left)
}
【问题讨论】:
-
每个盒子都有一个物理实体(所以你可以尝试使用更少的实体)。位掩码以减少物理引擎完成的交叉检查次数
标签: ios iphone performance swift sprite-kit