我一直在搜索这几天,并且没有得到完整答案。我是第一次玩SpriteKit而且我在使用大量资源的非常简单的游戏时遇到了麻烦。我知道PhysicsBodies会占用资源,但这似乎过分了。下面的演示代码使用70%+模拟器CPU。我知道模拟器运行高但70%的CPU只是坐在舞台上的精灵?该图像是透明的png-8,大小约为16 Kb,宽度为75像素。
import SpriteKit import GameplayKit class GameScene: SKScene, SKPhysicsContactDelegate { override func didMove(to view: SKView) { physicsWorld.contactDelegate = self let spaceship = SKSpriteNode(imageNamed: "rocketship75") spaceship.physicsBody = SKPhysicsBody(rectangleOf: spaceship.size) spaceship.physicsBody?.collisionBitMask = 0 spaceship.physicsBody?.affectedByGravity = false spaceship.position = CGPoint(x: 0, y: 0) addChild(spaceship) print("Loaded spaceship") } }
如果我注释掉SKPhysicsBody,那么CPU会降至0.这是正常的还是预期的,还是有更有效的方法呢?