下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

教你如何用Cocos2D-X获取大量随机数

作者:课课家教育     来源: http://www.kokojia.com点击数:1121发布时间: 2019-04-17 10:07:05

标签: Cocos2D-X随机数Cocos2D-X教程Cocos2D-X技巧

  我们在工作中有时会需要用Cocos2d-x来获取大量随机数,要怎么操作呢?本篇教程教你如何用Cocos2D-X获取大量随机数。

  之前在做一个游戏的时候需要获取随机数

  rand()%(end-start+1)+start;

  参数end和start是为了设置获取随机数范围的,要想获取接近真实的随机数需要设置一个种子,比较常用的方法是以当前时间为种子,在cocos2d-x中提供了获取时间的方法,而且获取的时间更精确

  cc_timeval psv;

  CCTime::gettimeofdayCocos2d(&psv, NULL);

  unsigned long int seed = psv.tv_sec*1000 + psv.tv_usec/1000;

  得到的时间能精确到毫秒级。

  项目的需求是要获取一组随机数,这就要用一个循环来获取大量的随机数了,一开始是这样做的:

教你如何用Cocos2D-X获取大量随机数_Cocos2D-X随机数_Cocos2D-X教程_Cocos2D-X技巧_课课家  

  调试的时候发现,得到的随机数很有规律......

  当时感觉很奇怪,在网上查了好长时间,也没找到什么问题(可能是没仔细看教程,哈哈)。后来突然感觉,是不是应该把设置种子放到循环外面,然后源码改动如下:

  

  然后调试,成功。

  所以,设置种子的位置要放的循环外面.....

赞(24)
踩(3)
分享到:
华为认证网络工程师 HCIE直播课视频教程