Articles of sprite kit

Loop не создает анимационную работу, swift 2

Я пытаюсь изменить местоположение смены мяча 10 раз: for _ in 10 { let ballRandomX = Int(arc4random_uniform(896)) + 64 let ballRandomY = Int(arc4random_uniform(640)) + 64 let moveAction = SKAction.moveTo(CGPoint(x: ball1RandomX, y: ball1RandomY), duration: 1.0) self.ball.runAction(moveAction) } Но мяч только движется один раз. Я обнаружил, что весь цикл выполняется до завершения анимации. Это означает, что когда […]

Как изменить систему координат SpriteKit

Все SKSpriteNode имеют свое происхождение, также называемое anchorPoint , если я не ошибаюсь, в их середине. Я хочу перевести это происхождение в середину верхней строки узла. Я пробовал следующее внутри метода init() , но он не работает: self.anchorPoint = self.anchorPoint.applying( CGAffineTransform.init(translationX: 0, y: self.frame.size.height/2) ) PS: Я использую это, чтобы упростить следующее: я создал массив […]

Почему эти столкновения не будут ощущаться? (Swift SpriteKit)

В моем проекте я пытаюсь обнаружить столкновение двух SKSpriteNodes, но это не сработает. Вот мой код для категории физики: struct PhysicsCategory { static let enemy : UInt32 = 0x1 << 1 static let player : UInt32 = 0x1 << 3 static let neutral : UInt32 = 0x1 << 2 } Для нейтральных, вражеских и игровых […]

Как сохранить синглтон при закрытии игры Sprite Kit?

Я использую singleton, который сохраняет изменения в моей игре и хорошо работает. Как я могу сохранить синглтон при закрытии игры? Должен ли я использовать NSCoder ? import Foundation import SpriteKit class War: SKScene { static var sharedWar = War(size: CGSize(width: 2048, height: 1536)) … }

Как установить определение физики программным путем быстро?

Я могу установить определение физики в файле GameScene.sks: Но как я могу изменить эти параметры определения физики (тип тела, разрешить поворот, маску категории …) в коде программно?

Найти элементы в массиве с тем же цветом и напечатать true, если они находятся рядом друг с другом

Это как-то работает, как я это сделал. Но я знаю, что должен быть лучший и оптимизированный способ сделать эту проверку для всех строк и всех цветов. Если вы знаете, пожалуйста, поделитесь. благодаря func checkMovesAvailable(){ var count = 0 var yellowArray = [0,0,0,0] var movesAvailable: Bool = false for i in 0..<3{ square[i, 0] if(square.fillColor == […]

Изображение загружено черным

на самом деле я новичок в программировании игр, я использую SpriteKit для графики. когда я загрузил свое изображение, появился черный экран. что не так?? ниже мой код, который написал в GameScene.swift. Также я поместил my_Image в проект [копия при необходимости] Спасибо за ваш ответ. import SpriteKit class GameScene: SKScene { override func didMoveToView(view: SKView) { […]

Быстрая настройка цветного шрифта для SKLabelNode

Я пытаюсь установить собственный цвет в SKLabelNode. Вот мой код: coinLabel.fontName = "Bebas" coinLabel.fontSize = 30 coinLabel.fontColor = SKColor(red: 233, green: 157, blue: 20, alpha: 1) coinLabel.text = " \(UserDefaults().integer(forKey: "COINSCORE"))" coinLabel.position = CGPoint(x: -self.frame.width / 3.1, y: self.frame.height / 2.23) coinLabel.zPosition = 1.1 self.addChild(coinLabel) Однако это не работает и показывает предыдущий цвет, который я […]

Протокол Swift ограничивает только определенные типы классов

У меня есть протокол, который я назначаю только объектам SKScene. Это в основном так, что я могу применять определенные свойства и методы, позволяющие мне создать класс менеджера, зная, что мои сцены могут все делать определенные вещи. Например, я могу создать учебную сцену, например, уровень 1, уровень 2 и т. д. protocol GameSceneProtocol { func performAction() […]

Как вызвать действие из игровой сцены

В моей игровой сцене « Sprite-kit я стараюсь добавить розовое / пульсирующее действие. Я не знаю, как назвать контроллер игрового представления. В простом UIViewController я могу просто запустить: viewController.addPulse однако в Sprite-kit сцене Sprite-kit я не уверен, как это назвать. Здесь Ниже приведен код, который я пробовал, и он дает мне ошибку на строке: let […]