在Sprite Kit中播种随机数生成器

时间:2014-02-27 00:23:12

标签: objective-c sprite-kit

我正在使用此函数随机化我的一个精灵的x坐标:

static inline CGFloat skRandf(){
    return rand() / (CGFloat) RAND_MAX;
}
static inline CGFloat skRand(CGFloat low, CGFloat high){
    return skRandf() * (high - low) + low;
}

它工作正常,但如果我多次玩游戏,我会注意到我每次使用它的精灵的x坐标是相同的。有没有办法改变这个或随着时间播种它来解决这个问题?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

尝试使用arc4random(),因为它不需要设置种子,并使用更高级的算法。

static inline CGFloat skRandf(){
    return arc4random() / (CGFloat) RAND_MAX;
}
static inline CGFloat skRand(CGFloat low, CGFloat high){
    return skRandf() * (high - low) + low;
}