cocos2d-x - 产生随机数(c++)
cocos2d-x提供了一个产生随机数的方法CCRANDOM_0_1 具体定义如下。
可以看出,他是返回一个0~1之间的随机数. 同样的道理, 1. int random = CCRANDOM_0_1()+1; 产生1~2之间的随机数 但是,cocos2d-x采用的是rand()函数, rand()的用法 故此,总结来说CCRANDOM_0_1()不随机,建议使用arc4random()这个函数(不需要初始化随机种子,可直接使用)。 另外,说明下,objective-c中生成随机数有三种方法:arc4random(),CCRANDOM_0_1()和random(),具体说明如下: 1)、arc4random() 比较精确不需要生成随机种子 使用方法 : 通过arc4random() 获取0到x-1之间的整数的代码如下: int value = arc4random() % x; 获取1到x之间的整数的代码如下: int value = (arc4random() % x) + 1; 2)、CCRANDOM_0_1() 在cocos2d中使用 ,范围是[0,1] 使用方法: float random = CCRANDOM_0_1() * 5; //[0,5] CCRANDOM_0_1() 取值范围是[0,1] 3)、random() 需要初始化时设置种子 使用方法: srandom((unsigned int)time(time_t *)NULL); //初始化时,设置下随机种子就好了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |