Как скопировать SKSpriteNode с SKPhysicsBody?
Мне любопытно, с какой ситуацией я столкнулся сегодня, когда пытался разархивировать и скопироватьSKSpriteNode
от одногоSKScene
другому. В выводе с игровой площадки ниже вы можете увидеть, что обаlinearDamping
а такжеangularDamping
или не поддерживается после копирования (похоже, они возвращаются к значениям по умолчанию)
// PLAYGROUND_SW1.2 - SKSpriteNode Copy
import UIKit
import SpriteKit
// ORIGINAL
let spriteNode = SKSpriteNode()
spriteNode.name = "HAPPY_NODE"
let size = CGSize(width: 55.0, height: 150.0)
let physics = SKPhysicsBody(rectangleOfSize: size)
physics.linearDamping = 0.123
physics.angularDamping = 0.456
spriteNode.physicsBody = physics
// COPY
let spriteCopy = spriteNode.copy() as! SKSpriteNode
// ORIGINAL
spriteNode.name
spriteNode.physicsBody?.linearDamping
spriteNode.physicsBody?.angularDamping
spriteNode.physicsBody?.area
// COPY
spriteCopy.name
spriteCopy.physicsBody?.linearDamping
spriteCopy.physicsBody?.angularDamping
spriteCopy.physicsBody?.area
Выход на игровую площадку
Я не уверен, что я копирую это правильно, обаSKSpriteNode
а такжеSKPhysicsBody
соответствоватьNSCopying
Если вы посмотрите на вывод вышеarea
свойство сохраняется после копирования и, насколько мне известно, это основано наsize
указано, когдаSKPhysicsBody
был создан.
Может кто-нибудь пролить свет на это и, возможно, дать мне указатель на то, как я должен быть глубокое копированиеSKSpriteNode
?