기본 Swift 3 및 SpriteKit을 연습하기 위해 테스트 장면을 만들었습니다. 나는보다 복잡한 목표로 넘어 가기 전에 기본을 이해함으로써 배우려고 노력하고 있습니다.SKLabelNode가 이동합니다. 하지만 액션이 반복되지 않습니다.
여기에는 생성 된 SKLabelNode가 있고 왼쪽으로 이동합니다. 작업을 반복 할 시퀀스를 만들었지 만 작동하지 않습니다. 실패한 부분을 이해하도록 도와주십시오. NodeCount는 노드가 하나뿐임을 주목합니다.
import SpriteKit
import GameplayKit
class GameScene: SKScene {
var testShape = SKLabelNode()
override func didMove(to view: SKView) {
func createShape() {
testShape = SKLabelNode(text: "TEST")
testShape.position = CGPoint(x: 0.5, y: 0.5)
testShape.zPosition = 1
addChild(testShape)
}
let moveTestShape = SKAction.moveBy(x: -500, y: 0, duration: 5)
func repeater() {
createShape()
testShape.run(moveTestShape)
}
let delay = SKAction.wait(forDuration: 2)
let repeatingAction = SKAction(repeater())
let sequence = SKAction.sequence([ delay, repeatingAction ])
run(SKAction.repeatForever(sequence))
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
}
override func update(_ currentTime: TimeInterval) {
}
}
방법이도 컴파일하는 데 도움 등
희망 한 번 이동을 참조해야하는지? 'let repetAction = SKAction (repeater())'어쨌든 함수가 내부 함수이기 때문에'SKAction.run (repeater) '를 사용하고 싶을 것이다. – Knight0fDragon