2015-08-18 4 views
0

Я изучаю SpriteKit и Swift, и я пытаюсь сделать 5 маленьких изображений «spawn» в верхней части экрана и скользить вниз. Это то, что я получил до сих пор, добавлено в методе didMoveToView.Объекты появляются внизу экрана в SpriteKit

var myArray = NSMutableArray() 

    myArray.addObject(NSNumber(int: 40)) 
    myArray.addObject(NSNumber(int: 80)) 
    myArray.addObject(NSNumber(int: 120)) 
    myArray.addObject(NSNumber(int: 160)) 
    myArray.addObject(NSNumber(int: 200)) 

    for item in myArray 
    { 
     let location = CGPoint(x: CGFloat(item.floatValue), y: 1) 

     let sprite = SKSpriteNode(imageNamed: "myImage") 

     sprite.xScale = 0.5 
     sprite.yScale = 0.5 
     sprite.position = location 

     let action = SKAction.moveToY(-4, duration: 4.5) 

     sprite.runAction(action) 

     addChild(sprite) 
    } 

Но все объекты появляются внизу. Я попытался изменить положение y, с тем же результатом.

Спасибо!

ответ

0

Попробуйте изменить переменную расположение к этому:

let location = CGPoint(x: CGFloat(item.floatValue) , y:self.size.height) 

Это позволит установить у-значения в верхней части экрана и перемещать узлы там.

1

Вам необходимо увеличить координату y. Подумайте о системе оси, так как левый нижний угол равен (0,0), а верхний правый (self.frame.size.width, self.frame.size.height)

Вы также можете прочитать о опорные точки - опорная точка по умолчанию для объекта равна 0,5,0,5, поэтому, если вы найдете его на 1 половину (+ 1 пиксель), появится сверху. Если вы хотите, чтобы он выходил из экрана, вам нужно либо изменить опорную точку, либо выделку

Смежные вопросы