Я делаю игру, и у меня есть узел, который переключается между двумя текстурами. Мне было интересно, как я могу добавить продолжительность 0,5 секунды для каждой текстуры, прежде чем она вернется к предыдущей. Прямо сейчас, когда я запускаю игру, текстуры переключаются мгновенно, поэтому я хотел бы отложить его на 0,5 секунды.Продолжительность текстуры SpriteKit
Мой текущий код:
func move(){
let recursive = SKAction.sequence([
SKAction.setTexture(SKTexture(imageNamed: "D2")),
SKAction.setTexture(SKTexture(imageNamed: "DWalkRight")),
SKAction.moveByX(frame.size.width/2.8, y: 0, duration: NSTimeInterval(randomNumber())),
SKAction.setTexture(SKTexture(imageNamed: "D1")),
SKAction.setTexture(SKTexture(imageNamed: "DWalkLeft")),
SKAction.moveByX(-frame.size.width/2.8, y: 0, duration: NSTimeInterval(randomNumber())),
SKAction.runBlock({self.move()})])
Drake1.runAction(recursive, withKey: "move")
}
Выполнить последовательность, которая будет ждать 0,5 секунды, а затем изменить текстуру. Вам нужно, чтобы это было синхронизировано с каким-либо событием, например. когда узел достигает определенной точки после какого-либо другого действия или вы просто хотите, чтобы узел изменил свою текстуру через определенное время независимо от того, что? – Whirlwind
В основном у меня есть узел, который перемещается с левой стороны экрана вправо, и у меня есть две текстуры, которые делают его похожим на изображение. Так как он движется, я хочу переключаться между двумя текстурами (вперед и назад), и каждая текстура длится в течение 0,5 секунд. – NickyNick321
Вы можете использовать то, что вам нравится в этом случае. Просто запустите последовательность с задержкой. Чтобы изменить текстуру, вы можете следовать за ответом Сангони или использовать метод setTexture на нужном узле (вы сделаете это внутри блока) или не будете использовать блок и использовать действие, как вы уже делали. Вы тоже можете использовать pbodsk, но, поскольку это всего лишь два обмена изображениями, я предлагаю вам попробовать для себя оба метода, чтобы увидеть, что вам подходит. Анимация с помощью текстур полезна, когда у вас много текстур для анимации, но для этого требуется массив с текстурами, поэтому он добавляет немного больше «сложности» :) – Whirlwind