Cocos2d-2.x_使用系统时间来获取随机数
发布时间:2020-12-14 21:13:51 所属栏目:百科 来源:网络整理
导读:#ifndef __HELLO_WORLD_H__#define __HELLO_WORLD_H__#include "cocos2d.h"#include "cocos-ext.h"USING_NS_CC;USING_NS_CC_EXT;class HelloWorld : public cocos2d::CCLayer {public:HelloWorld(); virtual ~HelloWorld(); static cocos2d::CCScene* scene(
#ifndef __HELLO_WORLD_H__ #define __HELLO_WORLD_H__ #include "cocos2d.h" #include "cocos-ext.h" USING_NS_CC; USING_NS_CC_EXT; class HelloWorld : public cocos2d::CCLayer { public: HelloWorld(); virtual ~HelloWorld(); static cocos2d::CCScene* scene(); virtual bool init(); CREATE_FUNC(HelloWorld); }; #endif #include "HelloWorldScene.h" #include "SimpleAudioEngine.h" HelloWorld::HelloWorld() { } HelloWorld::~HelloWorld() { } CCScene* HelloWorld::scene() { CCScene *scene = CCScene::create(); HelloWorld *layer = HelloWorld::create(); scene->addChild(layer); return scene; } bool HelloWorld::init() { if (!CCLayer::init()) { return false; } //获取系统时间 //time_t是long类型,精确到秒,通过time()函数可以获得当前时间和1970年1月1日零点时间的差 time_t tt; time(&tt); struct tm * now; //获得本地时间 now = localtime(&tt); CCLog("%d/%d/%d %d:%d:%d",now->tm_year + 1900,now->tm_mon + 1,now->tm_mday,now->tm_hour,now->tm_min,now->tm_sec); //产生随机数 //CCRANDOM_0_1()获取一个0-1之间的float类型数,包括0和1 //通过CCRANDOM_0_1()获得的随机数其实并不是随机的,要想获取接近真实的随机数需要设置一个种子 //比较常用的方法是以当前时间为种子,在cocos2d-x中提供了获取时间的方法,而且获取的时间更精确 //cc_timeval是个结构体,里边有俩个变量,一个是以秒为单位的,一个是以微妙为单位的 cc_timeval tv; CCTime::gettimeofdayCocos2d(&tv,NULL); //都转化为毫秒 unsigned long reed = tv.tv_sec * 1000 + tv.tv_usec / 1000; //srand()中传入一个随机数种子 srand(reed); //如果要获得a~b之间的一个随机数,则应该是CCRANDOM_0_1*(b-a)+a,传入的参数就是a和b int randomValue = CCRANDOM_0_1()*(10-0)+0; CCLog("random = %d",randomValue); return true; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |