cocos2dx中随机数生成的各种方法比较 发表于 2016-02-25 | 分类于 Cocos2dx | 阅读次数: 测试代码如下:12345678910111213141516171819202122232425262728#define RANGE 200//1.//随机效果一般,每次进入游戏的时候,值都是一样的float randData = CCRANDOM_0_1() * RANGE;CCLOG("1st------------->%f", randData);//2.//随机效果不好,虽然每次进入游戏,值都不一样,但是生成的随机数是递增的,而且相邻两个数之间的变化不大srand(unsigned(time(NULL)));randData = rand() % RANGE;CCLOG("2rd------------->%f", randData);//3.//随机效果较好,每次进入游戏的值都不一样,生成的随机数无规律,相邻的两个数变化较大timeval tv;cocos2d::gettimeofday(&tv, NULL);unsigned long int seed = tv.tv_sec * 1000 + tv.tv_usec / 1000;srand(seed);randData = rand() % RANGE;CCLOG("3nd------------->%f", randData);//4.//C++11的特性,要包含头文件<random>,随机效果不错std::uniform_real_distribution<double> u(0, RANGE);std::default_random_engine e(rand());for (int i = 0; i < 5; i++){ CCLOG("4th------------->%f", u(e));} 文章不错,你都不请我喝杯茶,就是说你呀! 打赏 微信支付 支付宝