CCRANDOM_0_1的范围是[0,1)包括0但不包括1

CCRANDOM_0_1() * 1400.0f / 100.0f是0-13

另外每次随机都是相同的数,要随机下种子

    srand((unsigned int)time(NULL));
for (int i = ; i < ; i++)
{
//CCRANDOM_0_1是[0,1)
//log("%d", (int)(CCRANDOM_0_1()*2));
// int idx = (int)(CCRANDOM_0_1() * 1400.0f / 100.0f);
log("%d",idx);
}

递归一个动画,实现动画不停的播放,动画间隔时间为随机数:

callFunc callFuncN表示里面添加一个节点作为参数,传递到调用方法,均为sequence的回调函数,意思为做完这个动作,再执行这个函数。

void MainScene::aciton_dishu(Node* dishu)
{
//dishu = Sprite::createWithSpriteFrameName("mouse1.png");
Vector<SpriteFrame*> vec(6);
char str2[100] = { 0 };
for (int i = 0; i < 6; i++)
{
sprintf(str2, "mouse%d.png", (i + 1));
auto frame = SpriteFrameCache::getInstance()->getSpriteFrameByName(str2);
vec.pushBack(frame);
} float deayT = CCRANDOM_0_1() * 10;
log("tag,dely-->%d,%f", dishu->getTag(),deayT);
auto animation = Animation::createWithSpriteFrames(vec, 0.2f);
//callFunc callFunN callFunNC分别为0,1,2个参数
auto action = Animate::create(animation);
Sequence *seq = Sequence::create(
DelayTime::create(deayT),
action,
action->reverse(),
//DelayTime::create(deayT),
CallFunc::create(std::bind(&MainScene::aciton_dishu, this, dishu)),
nullptr);
dishu->runAction(seq);
}

  3.2中callFunc可以通过std::bind绑定任意个数参数到函数里。this是指函数对象指针,后面的是函数参数列表,个人觉得还是CallFunc好用点,CallFuncN不好理解

void ActionRepeatForever::onEnter()
{
ActionsDemo::onEnter(); centerSprites(1); auto action = Sequence::create(
DelayTime::create(1),
CallFunc::create( std::bind( &ActionRepeatForever::repeatForever, this, _grossini) ),
nullptr); _grossini->runAction(action);
} void ActionRepeatForever::repeatForever(Node* sender)
{
auto repeat = RepeatForever::create( RotateBy::create(1.0f, 360) ); sender->runAction(repeat);
}

  

关于CCRANDOM_0_1的更多相关文章

  1. objective-c 中随机数的用法 3种:arc4random() 、random()、CCRANDOM_0_1()

    oc 中随机数的用法(arc4random() .random().CCRANDOM_0_1() 1).arc4random() 比较精确不需要生成随即种子 使用方法 : 通过arc4random() ...

  2. oc 中随机数的用法(arc4random( ) 、random( )、CCRANDOM_0_1( )

    来源:http://www.cnblogs.com/jay-dong/archive/2012/07/23/2604916.html 1).arc4random() 比较精确不需要生成随即种子 使用方 ...

  3. objective-c 中随机数的用法 (3种:arc4random() 、random()、CCRANDOM_0_1() )

    1.随机数的使用      1).arc4random() 比较精确不需要生成随即种子 使用方法 : 通过arc4random() 获取0到x-1之间的整数的代码如下: int value = arc ...

  4. Cocos2d-x 生成真正的随机数

    关于随机数 cocos2d-x 定义了一个宏 CCRANDOM_0_1 生成的是 [0, 1] 之间的值 因此,要生成  [0-100] 之间的数    CCRANDOM_0_1 * 100 生成 [ ...

  5. Cocos2dx对精灵的优化

    cocos2dx针对游戏设计的不同方面会有不同的优化方案,可以对声音,对内存,对图片格式,对色彩等等进行优化.有关这些方面的方法请大家查找其他的文章.我今天要说的是如何对精灵进行优化,程序中我们用到的 ...

  6. cocos2d-x:懒人数学函数

    做游戏开发,要用到比较多的数学计算,对于程序员来说,还是用一种懒一点的方法,cocos2d-x方便开发者投机取巧...提供了很多方便的的数学函数,方便我们的数学计算.以下是在网上收集到的一些常用的数学 ...

  7. Cocos2d-x 3.2 学习笔记(十二)TimberMan!疯狂伐木工!

    学习cocos2dx有一段时间了,试着做了2048游戏,最近又发现个经典游戏,啥也不说果断开工做自己的游戏——TimberMan! 首先说明:游戏资源摘自同类游戏,感谢这些游戏的资源让我完成自己的开发 ...

  8. Cocos2d-x 3.2 学习笔记(五)Sprite Node

    游戏中最重要的元素Sprite精灵,关于精灵的创建,精灵的控制等等. 涉及到的类Class: AnimationFrame 动画帧. Animation 动画对象:一个用来在精灵对象上表现动画的动画对 ...

  9. Cocos2d-x 3.2学习笔记(三)学习绘图API

    关于cocos2d-x 3.2 版本的绘图方法有两种 1.使用DrawNode类绘制自定义图形. 2.继承Layer类重写draw()方法. 以上两种方法都可以绘制自定义图形,根据自己的需要选择合适的 ...

随机推荐

  1. Java之网络爬虫WebCollector2.1.2+selenium2.44+phantomjs2.1.1

    Java之网络爬虫WebCollector2.1.2+selenium2.44+phantomjs2.1.1 一.简介 版本匹配: WebCollector2.12 + selenium2.44.0 ...

  2. myeclipse删除项目后重新导入

    今天安装了myeclipse2017版,刚开始导入项目后然后删除了,发现再次导入进来的时候不可以了. 解决方法:点击file -- >switch workspace -- >other ...

  3. Python3基础 print(,end=) 输出内容的末尾加入空格

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  4. POJ3278_Catch that cow

    一个简单的bfs题. 用结构体的目的在于保存bfs到达此处时走的步数. 不多言,上AC代码: //18:18 #include<iostream> #include<cstdio&g ...

  5. Python学习札记(三十五) 面向对象编程 Object Oriented Program 6

    参考:实例属性和类属性 NOTE Python是动态语言,根据类创建的实例可以任意绑定属性. class Student(object): def __init__(self, name): self ...

  6. CentOS环境Docker安装教程(官方推荐的docker三种方式安装)

    CentOS环境Docker安装教程(官方推荐的docker三种方式安装) 一.使用yum方式安装 1.安装依赖包 $ sudo yum install -y yum-utils device-map ...

  7. [转]Cryengine渲染引擎剖析

    转篇Napoleon314 大牛的分析,排版好乱,见谅,耐心读,这是个好东西,注意看他自己的实现,是个技术狂人啊,Ogre焕发次时代的光芒啊~~~努力 ------------------------ ...

  8. SSH基本管理和配置文件的使用

    服务端:linl_S    IP:10.0.0.15 客户端:lin_C    IP:10.0.0.16   SSHD服务 SSH协议:安全外壳协议.为Secure Shell的缩写.SSH为建立在应 ...

  9. Java网络编程学习A轮_03_抓包分析TCP四次挥手

    参考资料: http://www.jellythink.com/archives/705 示例代码: https://github.com/gordonklg/study,socket module ...

  10. 水晶报表VS2010防止出现用户登录问题

    1.联合查询,采用视图办法 2.借用如下语句 using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.Shared; ...