Sto creando un gioco universale per tutti i dispositivi iOS in modalità verticale utilizzando Swift. In GameViewController Sto creando scena come questa:Posizione SkSpriteNode nel gioco universale
let scene = GameScene(size:CGSize(width: 1536, height: 2048))
scene.scaleMode = .AspectFill
immagine di sfondo ha 1536x2048 di risoluzione, e quindi con scaleMode sopra su iPad è visualizzato nella sua dimensione completa, su iPhone 6 1152x2048 viene visualizzata con i lati tagliati. Funziona perfettamente su tutti i dispositivi e serve solo un'immagine di sfondo. Il problema è che se richiamo size.width o self.frame.size.width restituisce sempre 1536, anche se l'area visibile effettiva è ad es. 1152.
Come posso impostare la posizione di SkSpriteNode relativa all'area visibile, in modo che sia ad esempio 50x50 dall'angolo su ogni dispositivo?
Quindi stai usando questa funzione in GameViewController e questo è anche il luogo dove stai aggiungendo l'interfaccia utente? –
@shargath Oops, dovrebbe dire view, non sceneView. Lo modificherò ora. Sto usando questo metodo in scene di classe.E la mia interfaccia utente è interamente in sprite-kit. –
Grande, perché ho fatto la mia intera interfaccia utente anche in spriteKit per cui la classe di scene funziona per me :) –