sprite-kit
SKView
Recherche…
Paramètres
Paramètre | Détails |
---|---|
montreFPS | Affiche le nombre d'images par seconde en cours dans la vue. |
afficheNodeCount | Affiche le nombre de nœuds SKNodes actuellement affichés dans la vue. |
montrePhysique | Affiche une représentation visuelle des SKPhysicsBodys dans la vue. |
montreFields | Affiche une image représentant les effets des champs physiques dans la vue. |
showDrawCount | Affiche le nombre de passes de dessin nécessaires au rendu de la vue. |
afficheQuadCount | Affiche le nombre de rectangles requis pour afficher la vue. |
Remarques
Un SKView est une sous-classe de UIView utilisée pour présenter des animations 2D SpriteKit.
Un SKView peut être ajouté à Interface Builder ou par programmation de la même manière que les UIViews «normales». Le contenu SpriteKit est ensuite présenté dans SKView dans un SKScene.
Voir aussi Référence de la classe SKView à partir de la documentation Apple.
Créer un SKView en plein écran à l'aide d'Interface Builder
Un cas d'utilisation typique de SpriteKit est l'endroit où SKView remplit tout l'écran.
Pour ce faire, dans Interface Builder de Xcode, créez d'abord un ViewController normal, puis sélectionnez la vue contenue et modifiez sa classe de UIView à SKView :
Dans le code du View Controller, dans la méthode viewDidLoad, saisissez un lien vers ce SKView en utilisant self.view:
En Swift:
guard let skView = self.view as? SKView else {
// Handle error
return
}
(L'énoncé de garde protège contre l'erreur théorique que la vue n'est pas une vue SKView.)
Vous pouvez ensuite l'utiliser pour effectuer d'autres opérations telles que la présentation d'un SKScene:
En Swift:
skView.presentScene(scene)
Affichage des informations de débogage
La fréquence d'images actuelle (en FPS, Frames Per Second) et le nombre total de SKNodes dans la scène (nodeCount, chaque sprite est un SKNode mais les autres objets de la scène sont également des SKNodes) peuvent être affichés dans le coin inférieur droit de la vue. .
Celles-ci peuvent être utiles lorsqu'elles sont activées (définies sur true) pour le débogage et l'optimisation de votre code, mais elles doivent être désactivées (définies sur false) avant de soumettre l'application à l'AppStore.
En Swift:
skView.showsFPS = true
skView.showsNodeCount = true
Résultat:
Créer un petit SKView avec d'autres contrôles à l'aide d'Interface Builder
Un SKView n'a pas besoin de remplir tout l'écran et peut partager de l'espace avec d'autres contrôles de l'interface utilisateur. Vous pouvez même avoir plus d'un SKView affiché en même temps si vous le souhaitez.
Pour créer un SKView plus petit, entre autres, avec Interface Builder, créez d'abord un ViewController normal, puis faites glisser une nouvelle vue sur le contrôleur de vue:
Il peut être utile de définir la couleur de cette vue sur autre chose que du blanc (ici, le noir est utilisé) afin qu’elle soit visible plus clairement dans Interface Builder (cette couleur ne sera pas affichée sur l’application finale). Ajoutez d'autres contrôles (un UIView, deux boutons et une étiquette sont présentés ici à titre d'exemples) et utilisez des contraintes comme d'habitude pour les afficher à l'écran:
Sélectionnez ensuite la vue que vous souhaitez utiliser comme SKView et changez sa classe en SKView:
Ensuite, à l'aide de l'éditeur assistant, faites glisser le curseur depuis ce SKView vers votre code et créez une sortie:
Utilisez cette prise pour présenter votre SKScene.
En Swift:
skView.presentScene(scene)
Résultat (basé sur l'exemple Hello World ):