cocos2d-x里使用 CCRANDOM_0_1 可以产生随机的0和1,但是其实如果仅仅使用这个宏是不可以达到真正随机的效果,还需要为随机数设置“种子”
经过修改后,使用以下函数可以产生[s,e]之间的随机数
int Common::random(int s,int e){ cc_timeval psv; CCTime::gettimeofdayCocos2d( &psv, NULL ); // 获取本地时间 //根据时间产生随机种子 unsigned int tsrans = psv.tv_sec * 1000 + psv.tv_usec / 1000; srand(tsrans); //设定随机数种子 float i = CCRANDOM_0_1()*(e-s+1)+s; return (int)i; } |
- 本文固定链接: https://freemanapp.com/zh/?p=65
- 转载请注明: freeman 于 FreemanApp 发表