cocos2dx提供了CCRANDOM_0_1()函数返回0-1之间的随机浮点数,但是你发现程序每次调用它都得到的是同样的数,不是真正随机,这是因为没设置随机种子的原因。以下代码 可解决:
//产生真 0-1 之间的随机数
static float realRand_0_1()
{
cocos2d::cc_timeval psv;
cocos2d::CCTime::gettimeofdayCocos2d(&psv, NULL);
//根据时间产生随机种子
unsigned int tsrans = psv.tv_sec * 1000 + psv.tv_usec / 1000;
srand(tsrans); //给rand()函数设定种子
return CCRANDOM_0_1();
}
可把它放在一个头文件中,如tools.h, 这样每个文件都可以用.