首页 > 代码库 > Cocos2d-x 生成真正的随机数

Cocos2d-x 生成真正的随机数

关于随机数 cocos2d-x 定义了一个宏 CCRANDOM_0_1 生成的是 [0, 1] 之间的值

因此,要生成  [0-100] 之间的数    CCRANDOM_0_1 * 100

生成 [1,5]  之间的float 数,  就是 CCRANDOM_0_1 * 4 + 1

 

但是这个随机并不是真正的随机,你多试几次就会发现,每次都是固定的顺序产生,对于随机数我们一般都需要指定一个种子,让它依据这个种子产生。 

这里采用当前时间生成随机种子:

cc_timeval psv;   
 
CCTime::gettimeofdayCocos2d( &psv, NULL );    // 计算时间种子   
unsigned int tsrans = psv.tv_sec * 1000 + psv.tv_usec / 1000;    // 初始化随机数   
 
srand( tsrans ); 

Cocos2d-x 生成真正的随机数