Я делаю свою первую игру, она будет похожа на Марио. (с помощью swift)SKSpriteNode Автоматическое перемещение
Пришли к врагам, они должны будут двигаться влево и вправо и реагировать на столкновения, я могу сделать это для моего игрового узла, поскольку я вызываю функцию player.update() из функции обновления SKScene,
override func update(currentTime: NSTimeInterval)
{
player.update()
}
Мой вопрос:
для enemyX, как я могу получить узел для обновления, поскольку SKSpriteNode не имеет функцию обновления по умолчанию, которое может быть преодолено и из моей сцены игры
я не хочу действительно написать кое-что l икэ:
override func update(currentTime: NSTimeInterval)
{
player.update()
enemyX.update()
enemyY.update()
enemy001.update()
...
enemy100.update
}
Вы видите, что я имею в виду, как я могу обойти эту проблему, делает SKSpriteNode должен быть другой класс?
Возможно, действия?
let moveLeft = SKAction.moveByX(200, y:0, duration: 5)
self.runAction(moveLeft, completion: {
print("----> move left Complete")
})
Спасибо.
Простое мышление Могу ли я использовать функцию run forever, т.е. '' 'self.runAction (SKAction.repeatActionForever (SKAction.runBlock ({self.enemyLogic()})));' '' – garyconstable
Обычно вы решаете, где вы хотите враг, чтобы перейти к вызову 'SKAction.moveTo',' SKAction.moveToX' или 'SKAction.moveToY'. – Michael