Новое местоположение для узла
Я пытаюсь 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
)
}
Надеюсь это поможет:)