私は、画面上に一度に約8個のSKPhysicsを持っているゲームを持っています。そのうち2つは単純な正方形で、テクスチャで作成されています。テクスチャはそれほど複雑ではありません。画像はhttps://imgur.com/a/qJXL7(黒は透明です)です。問題は、テクスチャで作成されたPhysicsBodyを生成するたびに、ゲームが数ミリ秒間フリーズしてゲーム全体が壊れてしまうことです。どのようにしてゲームのパフォーマンスを上げることができますか?物理を作成する方法は次のとおりです.Body:物理学のテクスチャがfpsを遅くする
createObstacle1() {
let obstTexture1 = SKTexture(imageNamed: "obst1")
let obst1 = SKSpriteNode()
obst1.size = CGSize(width: 30, height: 30)
obst1.color = player.color
obst1.zPosition = 3
obst1.physicsBody = SKPhysicsBody(texture: obstTexture1, size: obst1.size)
obst1.physicsBody?.affectedByGravity = false
obst1.physicsBody?.allowsRotation = false
obst1.physicsBody?.isDynamic = false
obst1.physicsBody?.restitution = 0
obst1.physicsBody?.linearDamping = 0
obst1.physicsBody?.angularDamping = 0
obst1.physicsBody?.friction = 0
obst1.physicsBody?.categoryBitMask = 3
obst1.physicsBody?.collisionBitMask = 1
obst1.physicsBody?.contactTestBitMask = 1
obst1.name = "obst1"
self.addChild(obst1)
}
ものは、高価な光/影計算を引き起こし、例えばガラスのような透明のthats。白いテクスチャや透明度のないテクスチャを使って違いがあるかどうか試しましたか? – Katianie
アップルがテクスチャと物理をどのように扱うかによって、物理的ボディが非常に複雑になることがあります。輪郭曲線は2ピクセルごとに1行になる可能性があります。 – Knight0fDragon
更新サイクル中にボディを作成せず、ロードフェーズ中にボディを作成します – Knight0fDragon