我正在使用 Swift 和 SpriteKit 制作一个游戏,其中我根据数组将对象移动到随机位置。
由 CGPoints 组成的数组:
let easyArray = [CGPointMake(0,0), CGPointMake(126.6,0), CGPointMake(253.4,0), CGPointMake(0,197.5), CGPointMake(126.7,197.5), CGPointMake(253.4,197.5), CGPointMake(0,395), CGPointMake(126.7,395), CGPointMake(253.4,395)]
我使用这个函数来生成一个随机数:
func randomNumber(maximum: UInt32) -> Int {
var randomNumber = arc4random_uniform(maximum)
while previousNumber == randomNumber {
randomNumber = arc4random_uniform(maximum)
}
previousNumber = randomNumber
return Int(randomNumber)
}
我用它来根据生成的随机数移动对象:
let greenEasy = randomNumberNew(9)
let moveSelector = SKAction.moveTo(easyArray[greenEasy], duration: 0)
selector.runAction(moveSelector)
我在网上做了一些阅读,发现“While”条件应该使得相同的随机数不会连续生成两次。但它仍然发生。
谁能帮助我如何制作它,这样我就不会连续两次得到相同的数字?