2017-01-12 5 views
3

Ich habe diesen Code:hinzufügen SKLabelNode programmatisch in einem genauen Punkt

var labelNivel = SKLabelNode() 

func anadirLabelLevel() { 
    labelNivel.name = "labelNivel" 
    labelNivel.text = "Level" 
    labelNivel.fontSize = 12 
    labelNivel.fontColor = UIColor.cyan 
    labelNivel.position = CGPoint.zero 
    labelNivel.zPosition = 11 
    self.addChild(labelNivel) 
} 

, die eine SKLabelNode fügt Null auf dem Bildschirm zu zeigen, so möchte ich es in der linken oberen Ecke des Bildschirms hinzuzufügen und zu sein in der Lage, es auf jeder Bildschirmgröße in der richtigen Position zu sehen, also wie könnte ich das tun? Vielen Dank im Voraus!

Antwort

3

Sie sollten Ihre Position unter Bezugnahme auf Ihre anchorPoint und Ihre Etikettenausrichtung basieren. Nach Ihren Kommentaren sollten Sie Ihren Code aus sceneDidLoad zu entfernen und schreiben:

override func didMove(to view: SKView) { 
    super.didMove(to: view) 
    anadirLabelLevel() 
    labelNivel.position = CGPoint(x:self.frame.minX+labelNivel.frame.maxX,y:self.frame.maxY-self.labelNivel.frame.height) 
} 
+0

aaaaaaall richtiger Mann wir bekommen es, was ist, wenn ich es in der oberen rechten Ecke will? – yeker3

+1

Das ist einfach: Ändern Sie diesen Code mit 'CGPoint (x: self.frame.maxX-' ... lassen Sie den Rest wie es ist. –

0
labelNivel.position = CGPointMake(labelNivel.frame.size.width/2 , self.scene.size.height) 

dies setzen linke Ecke nach oben.

+0

Kommentare sind nicht für längere Diskussion; Diese Konversation wurde [in den Chat verschoben] (http://chat.stackoverflow.com/rooms/133082/discussion-on-answer-by-mkeremkeskin-add-sklabelnode-programmatical-in-an-exac). –

Verwandte Themen