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 :

entrer la description de l'image ici

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:

entrer la description de l'image ici

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:

Glisser et déposer une nouvelle 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:

Changer de couleur, ajouter des contrôles, ajouter des contraintes

Sélectionnez ensuite la vue que vous souhaitez utiliser comme SKView et changez sa classe en SKView:

Changer de classe à SKView

Ensuite, à l'aide de l'éditeur assistant, faites glisser le curseur depuis ce SKView vers votre code et créez une sortie:

Créer une sortie

Utilisez cette prise pour présenter votre SKScene.

En Swift:

skView.presentScene(scene)

Résultat (basé sur l'exemple Hello World ):

entrer la description de l'image ici



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow