SpriteKit- Wie man ein SKScene vergrößert und verkleinert?

8

Wenn ich ein Spiel in SpriteKit mache, das eine große "Welt" hat, und ich möchte, dass der Benutzer die Möglichkeit hat, die SKScene zu vergrößern und zu verkleinern, wie würde ich dann vorgehen? Oder, um es einfacher zu machen, wie kann ich in der didMoveToView-Funktion mehr von der Welt auf dem Bildschirm des Benutzers anzeigen (ohne world.runAction(SKAction.scaleTo(0.5)) oder etwas zu verwenden)?

    
Austin 18.08.2015, 17:31
quelle

1 Antwort

26

Es gibt einen SKCameraNode, der speziell dafür entwickelt wurde. Der SKCameraNode definiert das Ansichtsfenster in Ihrer Szene. Sie erstellen einen Kameraknoten und weisen ihn der Kameraeigenschaft Ihrer Szene zu.

%Vor%

Sie können dann Aktionen erstellen und diese Aktionen auf der Kamera ausführen. Um die Szene zu vergrößern, würden Sie das tun.

%Vor%

Der cameraNode ist im Grunde ein quadratischer Knoten in der Szene, von dem ich denke, dass er die Proportionen der Ansicht standardmäßig annimmt? Weil es keinen Größeninitialisierer gibt. Wenn Sie es also verkleinern, sieht die Szene so aus, als ob sie gezoomt wird. Zum Verkleinern würden Sie eine Aktion ausführen, die den Maßstab vergrößert. Stellen Sie sich grundsätzlich ein Rechteck in Ihrer gesamten Szene vor, und was auch immer im cameraNode-Rechteck ist, wird direkt auf Ihrem iPhone-Bildschirm angezeigt. Sie können auch moveTo-Aktionen und Sequenzaktionen hinzufügen und timingModes für die Aktionen so einstellen, als wäre es Ihr normaler SpriteNode.

Hier ist die WWDC, wo der Apfelmensch zeigt, was ich gerade gesagt habe. CameraNode Bit ist etwa 3 Minuten vor dem Ende.

Ссылка

    
Peter Parker 01.12.2015 18:05
quelle

Tags und Links