2016-08-02 51 views
6

In früheren Versionen von SpriteKit war der Ursprung (0,0) immer unten links. Außerdem wurden Knoten, die zu ihren Eltern hinzugefügt wurden, standardmäßig dort gestartet.Hat sich das SpriteKit-Koordinatensystem in Xcode 8 geändert?

Es scheint, dass mit Xcode 8 der neue Standardursprung in der Mitte des Bildschirms ist.

Ist das richtige Verhalten, ein Bug in der Beta, oder verstehe ich SpriteKit einfach nicht?

Der gleiche Code wird sowohl für 7

import SpriteKit 
import GameplayKit 

class GameScene: SKScene { 
    override func didMove(to view: SKView) { 
     let ship = SKSpriteNode(imageNamed: "Spaceship") 
     addChild(ship) 
    } 
} 

Xcode verwendet:

enter image description here

Xcode 8:

enter image description here

+1

Nun könnte es sein. Was sagt spirite.position, sprite.anchorPoint und scene.anchorPoint? – Whirlwind

+0

In Xcode 8 lesen sie - Sprite Position (0.0, 0.0), Sprite AnchorPoint (0.5, 0.5), Szene AnchorPoint (0.5, 0.5) –

+0

Das sieht so aus wie es soll (zumindest so ist es in Xcode 7). – Whirlwind

Antwort

6

Nein, SpriteKit verwendet immer noch das gleiche Koordinatensystem.

Der Unterschied ist, dass die Beispiel-.sks-Szenendatei, die mit einem neuen Projekt bereitgestellt wird, geändert wurde. In früheren Versionen von Xcode hatte diese .sks-Datei ihren Ankerpunkt (d. H. Wo der "Ursprung" der Szene liegt) bei (0,0), was dazu führt, dass der Ursprung in der unteren linken Ecke liegt.

In Xcode 8 hat die .sks-Datei einen Standard-Ankerpunkt von (0,5, 0,5), der den Mittelpunkt der Szene darstellt.

Um das alte Verhalten wiederherzustellen, gehen Sie einfach in diese .sks-Datei und setzen Sie den Ankerpunkt auf (0,0) zurück. Alle Legacy-.sks-Dateien, die Sie herumliegen, sollten trotzdem funktionieren, da ihre Ankerpunkte vorher auf (0,0) gesetzt wurden.

+0

Danke @cc Ich würde gerne bestätigen können, dass die neueste Xcode 8-Beta bei jedem Öffnen einer .sks-Datei leider abstürzt. Ich werde aktualisieren, sobald ich einen öffnen kann. –

+0

Ja, das ist ein bekanntes Problem, anscheinend - das Apple Entwicklerforum hat eine Diskussion über den Absturz des .sks Editors. (Wenn Sie zu Beta 3 zurückkehren, können Sie das obige Verhalten sehen.) –