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. bzoj1612 / P2419 [USACO08JAN]牛大赛Cow Contest(Floyd)

    P2419 [USACO08JAN]牛大赛Cow Contest Floyd不仅可以算最短路,还可以处理点之间的关系. 跑一遍Floyd,处理出每个点之间是否有直接或间接的关系. 如果某个点和其他$n ...

  2. 「翻译」一篇redis文章引发的翻译——JVM能支持多少线程?

    昨天看了一篇关于redis 的文章https://www.cnblogs.com/fanwencong/p/5782860.html 作者说他模拟了100万线程的并发,我对这个有一些怀疑,看了评论也有 ...

  3. python_发送短信脚本

    sendsms.py #!/usr/bin/env python # coding: utf-8 import sys import urllib import urllib2 "" ...

  4. 两行python代码,你是否可猜到运行结果

    两行python代码,你是否可猜到运行结果 参考: http://www.cnblogs.com/way_testlife/archive/2011/07/20/2111549.html#215689 ...

  5. vue中watch的用法

    一.首先确认watch是一个对象,一定要当做对象来用 watch:{ } 对象:有键,有值. 1.键:就是你要监控的那个家伙,比如说$route,这个就是要监控路由的变化.或者是data中的某个变量. ...

  6. Angel 实现FFM 一、对于Angel 和分布式机器学习的简单了解

    Angel是腾讯开源的一个分布式机器学习框架.是一个PS模式的分布式机器学习框架. https://github.com/Angel-ML/angel   这是github地址. 我了解的分布式机器学 ...

  7. 自己喜欢用的一个初始化的common.css

    body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote ...

  8. 最近公共祖先问题 LCA

    2018-03-10 18:04:55 在图论和计算机科学中,最近公共祖先,LCA(Lowest Common Ancestor)是指在一个树或者有向无环图中同时拥有v和w作为后代的最深的节点. 计算 ...

  9. Html中文字过多,单行超出和多行超出显示省略号

    本博客主要介绍 前端开发中文本过多,以省略号显示. 效果如图:                单行: <!--单行--> <p class="pl">这个属 ...

  10. AndroidStudio怎样导入library项目开源库

    AndroidStudio是一款非常强大的android程序开发软件,在里面集成了几乎所有android开发中需要使用的工具,编译.运行.打包.开发.调试等功能一应俱全,可以使用起来非常方便. 今天要 ...