Ich versuche, mein erstes Spiel mit SpriteKit & Swift machen. Ich denke, ich habe das Konzept von World SKNode verstanden, aber ich kann es nicht richtig funktionieren lassen.SpriteKit Welt falsche Positionierung
Ich füge world:SKNode
als Kind dem GameScene hinzu. Dann füge ich 9 untergeordnete SKSpriteNodes hinzu (400px X 400px ab 200px X 200px Punkt, da spritesNodes zentriert sind). Und sie positionieren sich perfekt, ABER ich kann mir nicht vorstellen, wie ich meine Welt SKNode erreichen kann.
Zum Beispiel, wie kann ich linke Ecke meiner Welt zeigen?
import SpriteKit
class GameScene: SKScene {
let cityPartSide:Int = 400
let startCoord:Int = 200
var world:SKNode = SKNode()
override func didMoveToView(view: SKView) {
//self.world = SKNode()
self.world.name = "world"
self.addChild(self.world)
let map:[[UInt8]] = [[16, 16, 16],
[16, 16, 16],
[16, 16, 16]]
drawMap(world, map: map)
}
func drawMap(world:SKNode, map:[[UInt8]]) {
let lineSize:Int = map[0].count
var lineCounter = map.count
while lineCounter > 0 {
lineCounter -= 1
var elemCounter = 0
while elemCounter < lineSize {
var sprite:SKSpriteNode = SKSpriteNode()
let currentPartNumb = map[lineCounter][elemCounter]
if currentPartNumb == 0 {
elemCounter += 1
continue
} else {
sprite = SKSpriteNode(imageNamed: "cell")
}
//CHOOSE IMAGE
sprite.position = CGPoint(x: startCoord + elemCounter * cityPartSide, y: startCoord + ((lineSize-1)-lineCounter)*cityPartSide)
world.addChild(sprite)
elemCounter += 1
}
}
}
override func update(currentTime: CFTimeInterval) {
/* Called before each frame is rendered */
}
}
Aber ich bekommen, was durch diesen Code ausgeführt wird, ist, dass vertikal es perfekt positioniert ist, sondern linke Seite der Welt ist irgendwo aus dem Bildschirm.
mir Sieht hinzuzufügen, wie Sie nicht die scalingFactors richtig Handhabung, wie schaffen Sie die Szene selbst? Welchen ScaleMode verwendest du? – Knight0fDragon