İlk oyunumu SpriteKit & Swift kullanarak yapmaya çalışıyorum. Sanırım Dünya SKNode konseptini anladım, ancak düzgün çalışmasını sağlayamıyorum.SpriteKit dünya yanlış konumlandırma
world:SKNode
numaralı telefonu GameScene'e ekliyorum. Sonra 9 çocuk SKSpriteNodes (sppitesNodes ortalanır çünkü 200px X 200px noktasından başlayarak 400px X 400px) ekleyin. Ve mükemmel pozisyondalar, ama dünya SKNode'umun sınırlarını nasıl alacağımı anlayamıyorum.
Örneğin, dünyamın sol alt köşesini nasıl gösterebilirim?
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 */
}
}
Ama ne ben bu kodu çalıştırarak elde dikey mükemmel konumlandırılmış, ama dünyanın sol tarafı ekranın dışına bir yere olmasıdır.
gibi GameViewController.swift en viewDidLoad sen nasıl sahne kendisi yaratıyor doğru scalingFactors işlememesi gibi geldi bu
eklemek için gerekli? Hangi scaleMode kullanıyorsunuz? – Knight0fDragon