加入类的create方法:
CREATE_FUNC(ClassName) 使用这个宏能够为类加入一个create方法。
创建类的对象时一律用Class::create()的形式。

在CREATE_FUNC这个宏中定义的类初始化调用顺序为:构造函数、init。

且将这个类对象设置为autorelease。这也就意味着,用create创建的对象无需手动delete。

可是有时还是要在切换场景等操作时,保留这个对象。

这就须要使用retain()函数,当然使用它的同一时候,你就须要为内存管理负责,要手动delete。


数据绑定:
CC_SYNTHESIZE_READONLY(varType, varName, funName) 使用这个宏能够自己主动创建get和set方法。

总体框架结构:

动作使用:
动作是挂在人物(精灵)上的。使用动作三步走。1、找到对应精灵。

2、编辑动作。

3、精灵运行动作。

动作类例如以下结构。动作分为瞬时动作(基类CCActionInstanse)和延时动作(基类CCActionInterval)。能够直接声明一个CCFiniteTimeAction指针用于操作。省的分辨详细是那个动作类型。尽管事实上也挺好记的。
通常精灵会使用runAction来运行动作。对于多个动作顺序运行的情况,通常使用sprite->runAction(CCSquence::create(act1,act2,...,NULL));
回调动作:
是即时动作即:CCActionInstant中的CCCallFuncN。使用时,第一个參数为this。第二个參数选择对应的回调。

设置背景:
在初始化Layer时,使用CCLayerColor::initWithColor(ccc4(r,g,b,a));

回调函数:
callfuncN_selector等方法进行转换类型。
一些函数的參数被定义为回调。(为了实现异步么?)其类型是SE_XXX。这样我们就须要更改我们对应函数的类型。使用这一组宏,可将普通函数更改为回调函数。


精灵显示、隐藏:
layer->addChild()、layer->removeChild()。

定时调用函数(层中):
layer->schedule()。可方便的以一个延时为标准,定制的调用函数。


触屏消息响应:
Scene中 :通经常使用于菜单中的响应。

Layer中:用于响应动作。

1、调用setTouchEnabled(true);接收点击消息。
2、重写响应
ccTouchesBegan(CCSet *pTouches,CCEvent *pEvent);//触屏開始事件
ccTouchesMoved(CCSet *pTouches,CCEvent *pEvent);//拖动事件
ccTouchesEnded(CCSet *pTouches,CCEvent *pEvent);//触屏结束事件
获得坐标的方法:
CCTouch* touch = (CCTouch*)(touches->anyObject());
CCPoint location = touch->getLocation();

数据结构:
CCArray。使用CCARRAY_FOREACH(m_abc, it)的宏化简for循环。

CC版的for_each。


点、方形
ccp(x,y) 返回一个CCPoint。
CCRectMake(x,y,width,height)返回一个CCRect。

碰撞检測:
rectA.intersectsRect 来推断两个方形是否有相交。

播放音乐:
CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic(); //背景音乐
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect(); //动作效果音乐

场景创建:
场景要继承于CCScene。首先要在其初始化函数中调用CCScene::init()函数。然后调用addChild在当中加入Layer。

动作延时:
CCDelayTime::create(n)。延迟动作。n秒后结束。


切换场景:
CCDirector::sharedDirector()->replaceScene(scene)。更换场景。

Cocos2d-X数据、动作、消息的基本操作的更多相关文章

  1. 【IPC进程间通信之四】数据复制消息WM_COPYDATA

    IPC进程间通信+数据复制消息WM_COPYDATA                IPC(Inter-Process Communication,进程间通信).         数据复制消息WM_C ...

  2. 大数据平台消息流系统Kafka

    Kafka前世今生 随着大数据时代的到来,数据中蕴含的价值日益得到展现,仿佛一座待人挖掘的金矿,引来无数的掘金者.但随着数据量越来越大,如何实时准确地收集并分析如此大的数据成为摆在所有从业人员面前的难 ...

  3. ROS2学习之旅(20)——创建一个动作消息

    本文用来自定义一个动作消息类型. 以下命令用来创建一个工作空间并建立一个功能包: mkdir -p action_ws/src cd action_ws/src ros2 pkg create act ...

  4. MySQL(一) 数据表数据库的基本操作

    序言 这类文章,记录我看<MySQL5.6从零开始学>这本书的过程,将自己觉得重要的东西记录一下,并有可能帮助到你们,在写的博文前几篇度会非常基础,只要动手敲,跟着我写的例子全部实现一遍, ...

  5. [一位菜鸟的COCOS-2D编程之路]COCOS2D中得动作,特效和动画

    一,CCActionManager 管理所有节点动作的对象 来看看打飞机里面的一个onEnter 方法 - (void)onEnter { [super onEnter]; //一定要注意添加此方法, ...

  6. SQL—对数据表内容的基本操作

    数据表  students      id name sex age address 101 张汉 男 14 杭州 102 欧阳钦 男 13 杭州 103 吴昊 男 14 北京 104 钱进进 男 1 ...

  7. C语言实现数据机构链表的基本操作(从键盘输入生成链表、读取数组生成链表)

    利用头插法实现逆置 下面简单介绍一下,算法思想结合图示看 算法思想:"删除"头结点与链表其他结点的原有联系(即将头结点的指针置空),再逐个插入逆置链表的表头(即"头插&q ...

  8. 【Cocos2dx游戏开发】CCNotificationCenter传递消息和数据

    在开发游戏的时候我们经常需要在层与层之间.场景与场景之间传递数据和消息,Cocos2dx框架应用观察者模式为我们封装了一个CCNotificationCenter类,也叫消息通知中心,它也是一个单例类 ...

  9. Azure IoT Hub 十分钟入门系列 (3)- 使用消息路由将原始设备数据记录存档

    本文主要分享一个案例: 10分钟使用消息路由将原始设备数据记录存档 B站视频讲解:https://www.bilibili.com/video/av90223893/ 本文主要有如下内容: 1.理解什 ...

随机推荐

  1. java.lang.UnsupportedClassVersionError: com/my/test/TestUser : Unsupported major.minor version 52.0

    问题原因: 1.执行代码的jdk版本 低于 编译的jdk版本 2.项目用JDK1.8运行过,现在又在本地的eclipse等开发工具或者本地环境变量为低版本的jdk1.7或者jdk1.6下运行,ecli ...

  2. ubuntu下使用CAJ云阅读--CAJViewer(Cloud)

    摘要:Linux(Ubuntu)没有直接打开caj论文格式的软件.网上流传最多的“CAJViewer6.0_green”.“CAJViewer7.2”都没法正常使用,所以迫切需要新的方法或软件;我发现 ...

  3. 『PyTorch』第十四弹_torch.nn.Module类属性

    nn.Module基类的构造函数: def __init__(self): self._parameters = OrderedDict() self._modules = OrderedDict() ...

  4. 关于二级指针的使用(使用node指针建树)

    struct node { int v; node *l,*r; }*p; 使用二级指针建树的话,如果p是非全局变量且一开始没有指向变量的话递归建树时必然要传递参数,但是如果只是简单的build(no ...

  5. 关于初级dp的一些记忆

    01背包和数塔都是寒假看的,数塔还算明白,但01背包虽然会做其实也是背下来的,一直不是很清楚它的可行性,昨天老师讲了以后恍然大悟,和数塔类似生成了一颗二叉树: 利用数组/dfs  自下而上/自上而下 ...

  6. 二、为什么要用MapReduce

    一.为什么要用MapReduce? 首先MapReduce被广泛应用于日志分析.海量数据的排序.在海量数据中查找特定模式等 场景.而且它非常简单,易于实现且扩展性强.可以通过它编写同事在多台主机上运行 ...

  7. Oracle12c 中RAC功能增强新特性之ASM&amp;Grid

    1.    自动存储管理(ASM)方面的增强 1.1.   Flex ASM 在典型的网格架构安装中,每个节点有自己的ASM实例运行并扮演该节点上数据库的存储容器的角色,对这种安装配置,存在单点失败的 ...

  8. python dict 构造函数性能比较

    from time import time t1 = time() {i: "%d" % i for i in range(5000)} t2 = time() print(t2- ...

  9. 从零开始学习Vue(一)

    因为最近有个项目的需求是,微信公众号+IOS/Android APP, 界面都很类似. 以往的做法是APP是调用JSON接口,后台只负责提供接口. 而H5,我以前都是用Jquery,用来写手机网站总是 ...

  10. Hexo博客搭建教程

    1.使用淘宝npm源 $ npm install -g cnpm --registry=https://registry.npm.taobao.org 2.安装hexo cnpm install -g ...