sprite-kit
SKView
Sök…
parametrar
Parameter | detaljer |
---|---|
showsFPS | Visa räkningen av den aktuella bildhastigheten i ramar per sekund i vyn. |
showsNodeCount | Visa ett antal av det aktuella antalet SKNodes som visas i vyn. |
showsPhysics | Visa en visuell representation av SKPhysicsBodys i vyn. |
showsFields | Visa en bild som representerar effekterna av fysikfälten i vyn. |
showsDrawCount | Visa ett antal räkningar som krävs för att visa vyn. |
showsQuadCount | Visa en räkning av antalet rektanglar som krävs för att visa vyn. |
Anmärkningar
En SKView är en underklass av UIView som används för att presentera SpriteKit 2D-animationer.
En SKView kan läggas till i Interface Builder eller programmatiskt på samma sätt som "normala" UIViews. SpriteKit-innehåll presenteras sedan i SKView i en SKScene.
Se även SKView Class Reference från Apple Documentation.
Skapa en fullskärms SKView med Interface Builder
Ett typiskt fall för SpriteKit är där SKView fyller hela skärmen.
För att göra detta i Xcodes Interface Builder, skapar du först en normal ViewController, välj sedan den medföljande vyn och ändra dess klass från UIView till SKView :
Inom koden för View Controller, i metoden viewDidLoad, ta en länk till denna SKView med self.view:
I Swift:
guard let skView = self.view as? SKView else {
// Handle error
return
}
(Vaktuttalandet här skyddar mot det teoretiska felet att vyn inte är en SKView.)
Du kan sedan använda detta för att utföra andra operationer som att presentera en SKScene:
I Swift:
skView.presentScene(scene)
Visar felsökningsinformation
Den aktuella bildhastigheten (i FPS, ramar per sekund) och det totala antalet SKNoder i scenen (nodeCount, varje sprite är en SKNode men andra objekt i scenen är också SKNoder) kan visas i det nedre högra hörnet av vyn .
Dessa kan vara användbara när de är aktiverade (inställd på true) för felsökning och optimering av din kod, men bör vara avstängda (inställda på falskt) innan du skickar appen till AppStore.
I Swift:
skView.showsFPS = true
skView.showsNodeCount = true
Resultat:
Skapa en liten SKView med andra kontroller med Interface Builder
En SKView behöver inte fylla hela skärmen och kan dela utrymme med andra UI-kontroller. Du kan till och med visa mer än en SKView på en gång om du vill.
För att skapa en mindre SKView bland andra kontroller med Interface Builder, skapar du först en normal ViewController och drar sedan en ny vy till visningskontrollern:
Det kan vara bra att ställa in färgen på den här vyn på något annat än vitt (här används svart) så att den kan ses tydligare i Interface Builder (den här färgen visas inte i den slutliga appen). Lägg till andra kontroller (en UIV-bild, två knappar och en etikett visas här som exempel) och använd begränsningar som vanligt för att lägga dem ut på skärmen:
Välj sedan vyn du vill vara en SKView och ändra dess klass till SKView:
Använd sedan assistentredigeraren, dra-dra från denna SKView till din kod och skapa ett uttag:
Använd detta uttag för att presentera din SKScene.
I Swift:
skView.presentScene(scene)
Resultat (baserat på Hello World- exemplet):