La mejor forma de definir variables para tamaños de nodo en diferentes pantallas en SpriteKit

Estoy haciendo un juego en SpriteKit. Tengo diferentes classs para los diferentes nodos que usaré en mi escena. Necesito que mi juego sea universal para que se adapte a cada pantalla. ¿Cuál es la mejor manera de definir diferentes variables que voy a usar en diferentes classs y en la escena principal?

Luego inicializando sus nodos, puede crear el parámetro de su world SKNode y luego acceder a su world.frame.size .

 class NodeClass: SKSpriteNode { init(world: SKNode) { super.init(texture: nil, color: UIColor.clearColor(), size: CGSizeMake(world.frame.size.width / 24, world.frame.size.width / 24)) } } 

También establece la position y el movimiento, la escala depende del tamaño de la escena.

No debe definir diferentes tamaños de elementos para diferentes pantallas. Esto hará que todo sea mucho más complejo en el largo ploop.

Pensando en puntos (no en píxeles)

En lugar de pensar en términos de píxeles, debe definir tamaños en términos de puntos.

A continuación, en GameViewController establezca la scaleMode de su escena en .AspectFill .

 gameScene.scaleMode = .AspectFill 

De esta manera, toda la escena (y su contenido) se escalará automáticamente para llenar la pantalla actual. Y no te volverás loco intentando gestionar diferentes tamaños para cada elemento.