Проблемы с созданием повторяющегося таймера в Xcode Swift - PullRequest
0 голосов
/ 14 февраля 2020

В настоящее время я кодирую повторяющийся таймер, чтобы моя игра порождала монету каждую секунду, но когда я запускаю код, появляется только одна монета, а затем удаляет себя, не следуя указаниям, это пример кода, который я использую Я уверен, что есть простой ответ на это, но я застрял на этом в течение дня.

@objc let coin = SKSpriteNode(imageNamed: "Coin")

var gametimer = Timer()

override func didMove(to view: SKView) {

    gametimer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(getter: coin), userInfo: nil, repeats: true)


      coin.position = CGPoint(x: self.size.width/2, y: self.size.height)
        coin.setScale(1)
        coin.zPosition = 1
         addChild(coin)


    let moveAction = SKAction.moveTo(y: 0, duration: 0.9)

    let deleteAction = SKAction.removeFromParent()

    coin.run(SKAction.sequence([moveAction,deleteAction]))

1 Ответ

0 голосов
/ 14 февраля 2020

Basi c пример, иллюстрирующий мой комментарий:

// Timer property
var gameTimer = Timer()

// In viewDidLoad, for example, set the timer only once
timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(spawnCoins), userInfo: nil, repeats: true)


// Place the code that should repeat in this function
@objc func spawnCoins(){
       print(“new coin spawned!”)
    }
...