sprite-kit
SKView
Ricerca…
Parametri
Parametro | Dettagli |
---|---|
showsFPS | Visualizza un conteggio della frequenza fotogrammi corrente in Fotogrammi al secondo nella vista. |
showsNodeCount | Visualizza un conteggio del numero attuale di SKNodi visualizzati nella vista. |
showsPhysics | Visualizza una rappresentazione visiva di SKPhysicsBodys nella vista. |
showsFields | Mostra un'immagine che rappresenta gli effetti dei campi fisici nella vista. |
showsDrawCount | Visualizza un conteggio del numero di passaggi di disegno richiesti per il rendering della vista. |
showsQuadCount | Mostra un conteggio del numero di rettangoli necessari per il rendering della vista. |
Osservazioni
Una SKView è una sottoclasse di UIView che viene utilizzata per presentare animazioni 2D SpriteKit.
Un SKView può essere aggiunto a Interface Builder o programmaticamente allo stesso modo di "normali" UIViews. Il contenuto di SpriteKit viene quindi presentato in SKView in un SKScene.
Vedi anche Riferimento di classe SKView dalla documentazione Apple.
Crea un SKView a schermo intero usando Interface Builder
Un tipico caso d'uso per SpriteKit è dove l'SKView riempie l'intero schermo.
Per fare questo in Xcode's Interface Builder, prima crea un normale ViewController, quindi seleziona la vista contenuta e modifica la sua Classe da UIView a SKView :
All'interno del codice per View Controller, nel metodo viewDidLoad, prendi un collegamento a questo SKView usando self.view:
In Swift:
guard let skView = self.view as? SKView else {
// Handle error
return
}
(L'affermazione di guardia qui protegge dall'errore teorico che la vista non è un SKView.)
È quindi possibile utilizzarlo per eseguire altre operazioni come la presentazione di un SKScene:
In Swift:
skView.presentScene(scene)
Visualizzazione delle informazioni di debug
Il frame rate corrente (in FPS, Frames Per Second) e il numero totale di SKNode nella scena (nodeCount, ogni sprite è un SKNode ma altri oggetti nella scena sono anche SKNodes) possono essere mostrati nell'angolo in basso a destra della vista .
Questi possono essere utili se attivati (impostati su true) per il debug e l'ottimizzazione del codice, ma devono essere disattivati (impostati su false) prima di inviare l'app all'App Store.
In Swift:
skView.showsFPS = true
skView.showsNodeCount = true
Risultato:
Crea un piccolo SKView con altri controlli usando Interface Builder
Uno SKView non ha bisogno di riempire l'intero schermo e può condividere lo spazio con altri controlli dell'interfaccia utente. Puoi anche avere più di una SKView visualizzata contemporaneamente, se lo desideri.
Per creare un SKView più piccolo tra gli altri controlli con Interface Builder, prima crea un ViewController normale, quindi trascina e rilascia una nuova vista sul controller della vista:
Può essere utile impostare il colore di questa vista su qualcosa di diverso dal bianco (qui è usato il nero) in modo che possa essere visto più chiaramente in Interface Builder (questo colore non verrà mostrato nell'app finale). Aggiungi altri controlli (un UIView, due pulsanti e un'etichetta sono mostrati qui come esempi) e usa i vincoli normalmente per posizionarli sul display:
Quindi seleziona la vista che vuoi essere SKView e cambia la sua classe in SKView:
Quindi, usando l'editor dell'assistente, trascina il controllo da questo SKView al tuo codice e crea un Outlet:
Usa questa presa per presentare la tua SKScene.
In Swift:
skView.presentScene(scene)
Risultato (basato sull'esempio di Hello World ):