2016-05-13 13 views
0

Ich baue ein Spiel und ich habe bemerkt, dass, wenn ich so etwas wieWie funktionieren SpriteKit-Positionen?

node.position = CGPointMake(0, 0) //Bottom Left 
node.anchorPoint = CGPointMake(0,0) //Bottom Left 

, der auf die je Telefon Sie iPhone 4s haben, 5s, 6s ect. Es zeigt sich an verschiedenen Orten.

Wie kann ich es ändern, so dass es die Grenzen der Bildschirmgröße verwendet wie ihre Berechnung zu arbeiten

self.view.frame.width/2 

Prost, ich bin seine Skala Problem zu raten?

+0

Welche Skalierungsmodus verwenden Sie? –

+0

Aspect Fill, ich denke, ich habe es vielleicht repariert, ich muss es auch auf die Grenzen des Bildschirms x2 setzen, ich weiß nicht, warum x2 ich denke, weil Retina-Bildschirme mit 2x rendern? – Eli

+0

Wenn Sie Aspect Fill verwenden möchten, muss Ihr abspielbarer Bereich das Verhältnis von iPad/iPhone4 sein. Wenn Sie den gesamten abspielbaren Bereich verwenden möchten, verwenden Sie Aspect Fit. Dies liegt daran, dass die Verwendung von self.view.frame kompliziert ist, wenn Sie mit mehreren Geräten arbeiten. –

Antwort

0

Verwenden Grenzen

self.view.bounds.size 
0

Die Antwort in GameScene.sks liegt. Auf der rechten Seite des Editors können Sie die Abmessungen des Bildschirms sehen. Der Punktwert ist die Koordinatenposition der Szene. Um es standortübergreifend zu standardisieren, rufen Sie in App Delegate unter applicationDidFinishLaunchingWithOptions scene.scalemode = .AspectFill auf. Der Skalierungsmodus bietet viele verschiedene Optionen, um die Abmessungen der .sks-Datei auf den Bildschirm des Geräts zu erweitern. Sie können über sie hier lesen: understanding scalemodes. Die Scalemodes heißen wie folgt: .ResizeFill. ResizeFit etc ..