sprite-kit
SKView
Zoeken…
parameters
Parameter | Details |
---|---|
showsFPS | Geef een telling van de huidige framesnelheid weer in Frames per seconde in de weergave. |
showsNodeCount | Geef een telling weer van het huidige aantal SKNodes dat in de weergave wordt weergegeven. |
showsPhysics | Geef een visuele weergave van de SKPhysicsBodys weer in de weergave. |
showsFields | Geef een afbeelding weer die de effecten van de fysische velden in de weergave vertegenwoordigt. |
showsDrawCount | Geef een telling weer van het aantal tekenpassages dat nodig is om het aanzicht te renderen. |
showsQuadCount | Geef een telling weer van het aantal rechthoeken dat nodig is om de weergave te renderen. |
Opmerkingen
Een SKView is een subklasse van UIView die wordt gebruikt om SpriteKit 2D-animaties te presenteren.
Een SKView kan worden toegevoegd aan Interface Builder of programmatisch op dezelfde manier als 'normale' UIViews. SpriteKit-inhoud wordt vervolgens gepresenteerd in de SKView in een SKScene.
Zie ook SKView Class Reference van Apple Documentation.
Maak een volledig scherm SKView met Interface Builder
Een typische use case voor SpriteKit is waar SKView het hele scherm vult.
Om dit te doen in de Interface Builder van Xcode, maakt u eerst een normale ViewController, selecteert u vervolgens de ingesloten weergave en wijzigt u de klasse van UIView in SKView :
Neem binnen de code voor de View Controller in de viewDidLoad-methode een link naar deze SKView met self.view:
In Swift:
guard let skView = self.view as? SKView else {
// Handle error
return
}
(De bewakingsverklaring hier beschermt tegen de theoretische fout dat de weergave geen SKView is.)
U kunt dit vervolgens gebruiken om andere bewerkingen uit te voeren, zoals het presenteren van een SKScene:
In Swift:
skView.presentScene(scene)
Foutopsporingsinformatie weergeven
De huidige framesnelheid (in FPS, Frames per seconde) en het totale aantal SKNodes in de scène (nodeCount, elke sprite is een SKNode, maar andere objecten in de scène zijn ook SKNodes) kunnen worden weergegeven in de rechteronderhoek van de weergave .
Deze kunnen handig zijn wanneer ingeschakeld (ingesteld op true) voor het opsporen van fouten en het optimaliseren van uw code, maar moeten worden uitgeschakeld (ingesteld op false) voordat u de app naar de AppStore verzendt.
In Swift:
skView.showsFPS = true
skView.showsNodeCount = true
Resultaat:
Maak een kleine SKView met andere bedieningselementen met Interface Builder
Een SKView hoeft niet het hele scherm te vullen en kan ruimte delen met andere UI-bedieningselementen. U kunt zelfs meer dan één SKView tegelijk laten weergeven als u dat wilt.
Om een kleinere SKView te maken met andere bedieningselementen met Interface Builder, maakt u eerst een normale ViewController en sleept u vervolgens een nieuwe weergave naar de weergavecontroller:
Het kan handig zijn om de kleur van deze weergave in te stellen op iets anders dan wit (hier wordt zwart gebruikt) zodat het beter zichtbaar is in Interface Builder (deze kleur wordt niet getoond in de uiteindelijke app). Voeg andere bedieningselementen toe (een UIView, twee knoppen en een label worden hier als voorbeelden getoond) en gebruik beperkingen zoals normaal om ze op het display weer te geven:
Selecteer vervolgens de weergave die u SKView wilt zijn en wijzig de klasse in SKView:
Vervolgens, met behulp van de assistent-editor, sleept u control vanuit deze SKView naar uw code en maakt u een Outlet:
Gebruik deze outlet om uw SKScene te presenteren.
In Swift:
skView.presentScene(scene)
Resultaat (gebaseerd op het Hello World- voorbeeld):