Новое местоположение для узла

Я пытаюсь unhide этот узел, так что он появляется в пределах rect место, но затем как-то делает этот узел hidden опять же, когда он показывает, он находится в другом месте в пределах rect, Но я пытаюсь добавить случайный таймер к нему unhides с произвольными интервалами (но не более 5 секунд)?

let x12 = rect4.origin.x + CGFloat(arc4random()) % rect4.size.width
let y12 = rect4.origin.y + CGFloat(arc4random()) % rect4.size.height
    let randomPoint12 = CGPointMake(x12, y12)
    self.yellowcircle3.position = randomPoint12
    self.addChild(yellowcircle3)


    yellowcircle3.hidden = true

1 ответ

Похоже, вы хотите сделать NSTimer и использовать arc4random, чтобы получить временной интервал.

Первое, что вам нужно сделать, это объявить NSTimer и случайное число, добавив код:

var myTimer = NSTimer()
var secondsPassed : Int = 0
var randomTimeInterval = arc4Random % 4 + 1

(4 + 1 вернет значение от 1 до 5)

Далее вам нужна функция для вызова, когда вы хотите переместить свой узел.

 func moveNode(){
            myTimer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("timerRan:"), userInfo: nil, repeats: true)

    }

Как только вы позвоните moveNode(), ваш таймер начнет работать. Но теперь нам нужна функция таймера, или это Selector так что он может работать правильно.

func timerRan(sender: NSTimer!){
     secondsPassed++
     if secondsPassed == randomTimeInterval (
        //unhide your rect and reset the timer
     )
}

Надеюсь это поможет:)

Другие вопросы по тегам