cocos2dx node使用

 node常用属性:            

1._eventDispatcher:事件派发器,使用它来管理当前节点(Scene, Layer和Sprite)不同事件的分配。 _eventDispatcher有两个添加监听器的方法: 

    // Adds event listener

    

    /** Adds a event listener for a specified event with the priority of scene graph.

     *  @param listener The listener of a specified event.

     *  @param node The priority of the listener is based on the draw order of this node.

     *  @note  The priority of scene graph will be fixed value 0. So the order of listener item

     *          in the vector will be ‘ <0, scene graph (0 priority), >0‘.

     */

    void addEventListenerWithSceneGraphPriority(EventListener* listener, Node* node);

 

    /** Adds a event listener for a specified event with the fixed priority.

     *  @param listener The listener of a specified event.

     *  @param fixedPriority The fixed priority of the listener.

     *  @note A lower priority will be called before the ones that have a higher value.

     *        0 priority is forbidden for fixed priority since it‘s used for scene graph based priority.

     */

    void addEventListenerWithFixedPriority(EventListener* listener, int fixedPriority);

    事件派发器由事件的优先权来派发事件。 方法一:由node的_localZOrder值的高低派发,值高优先,当这个node被移除时,该监听器也会被移除。 方法二:由整型值的高低派发, 当这个node被移除时,该监听器需要自己手动移除

 

时间: 2024-10-24 08:35:33

cocos2dx node使用的相关文章

`cocos2dx 非完整` UI解析模块

昨天在cocos2dx的一个群里,遇到一位匿名为x的朋友询问的问题,是关于ui的.他使用c++写了不少的ui封装节点,用来实现游戏中的各种不同效果.然后现在想改用lua,于是尝试使用最小代价去复用自己的代码.当然这个是可以做到的,相信很多人都是知道方法的.今天的这篇文章就来谈谈ui部分的处理以及个人的见解. 我们都知道,cocos2dx引擎提供了ui工具cocostudio.后来改名为cocos engine.这些就不赘述了,很多人都会使用这款工具.新版本的工具我没有使用过,不过我承认是方便了很

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

游戏中最重要的元素Sprite精灵,关于精灵的创建,精灵的控制等等. 涉及到的类Class: AnimationFrame 动画帧. Animation 动画对象:一个用来在精灵对象上表现动画的动画对象. AnimationCache 动画缓存单例类. 如何你想要保存动画,你需要使用这个缓存. Sprite 精灵;定义为二维图像. SpriteBatchNode 与批量节点类似,如果包含子节点会在一次OpenGL调用内绘制完成. SpriteFrame 一个精灵帧. SpriteFrameCac

16、Cocos2dx 3.0游戏开发找小三之Node:父节点、子节点、傻傻分不清楚

重开发者的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/30476133 Cocos2d-x 采用了场景.层.精灵的层次结构来组织游戏元素, 与此同时,这个层次结构还对应了游戏的渲染层次,因此游戏元素可以组织成树形结构,称作渲染树. Cocos2d-x 把渲染树上的每一个游戏元素抽象为一个节点,即 Node. 一切游戏元素都继承自 Node,因此它们 都具有 Node 所提供的特性. Node 定义了一个可绘制

Cocos2d-x 3.0final 终结者系列教程09-绘图节点Node中的Schedule

如何让HelloWorld项目中的HelloWorld文字实现自动运动呢? 有的童鞋会想到使用线程,不断修改Label的Position, 这样不行,因为在Cocos2d-x中只能在主线程中来修改Node中的信息,这是由于所有的node都是非线程安全的,如果我们的场景移除了node 在子线程种可能引用错误,所以,要让Node执行特定的变化,需要在当前的Node中使用Schedule 使用方法很简单 1.在当前的HelloWorldScne.h中添加一个方法在HelloWorldScene 如:

Cocos2d-x 3.0final 终结者系列教程10-绘图节点Node中的Action

Action是作用在Node上的逻辑处理,比如让Node移动.旋转.缩放.变色.跳跃.翻转.透明等等,都有相对应的Action Action如何在Node上使用 1.定义Action对象 如 auto act=MoveTo::create(Point(30,0),1); 2.在Node上执行runAction auto sp=Sprite::create("npc.png"); sp->runAction(act); 这样就实现了在sp这个Node上执行移动到30,0这个坐标的动

Cocos2d-x 网络线程与UI线程的同步 继承Node但是不执行Update

在最近的项目中,开始用到网络. 网络通信的话就要有一个循环来接收数据,于是想到直接到Cocos2d-x的主循环中去修改. Cocos2d-x的主循环在CCDirector的MainLoop函数中,在这里我们可以添加一个NetworkClient::Update()来执行网络通信的循环. 但是这样就会修改Cocos2d-x的引擎代码. 想到Unity中的做法,把NetworkClient继承自Node,这样就能继承Node的Update了. 但是加上之后,在AppDelegate中New Netw

cocos2d-x 3.0 画图节点——Node

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************** 昨天写了个场景切换,折腾到半夜..好困的说... *************************** 照旧,先来个文件夹: 1.前言 2.从代码观节点 3.实际应用Node类 *************************** 1.前言 老样子,先来点干

Cocos2d-x 3.0final 终结者系列教程08-绘图节点Node中的锚点和坐标系

图片问答,(只要回答正确,锚点和坐标系就学会了) 1.下图一共有几个填充为淡黄色的实心矩形? 选择:A,2个  B, 4个 C,1个 D,16个 答案,B,4个 2.下图的4个实心矩形排列在几行几列? 选择:A,1行1列 B,2行2列 答案,B 3.在每个实心矩形外侧都代表了屏幕,并标记了屏幕坐标系,和OpengGL坐标系,请问以下回答哪个正确? A,下图第一列是屏幕坐标系,左上角为0,0点,第二列是OpenGL坐标系,左下角为(0,0)点 B,    文章喜欢马伊琍 C,   黄海波是被陷害的

Cocos2d-x 3.0final 终结者系列教程07-绘图节点Node

在Cocos2d-x中所有能看到的都是引擎调用底层图形库函数绘制完成的, Cocos2d-x将屏幕所有要绘制的所有内容逻辑上保存到一个场景Scene中(尺寸一般会和屏幕大小一致) 而在Scene中又包含了多个图层Layer,每个图层都是一个绘图节点Node. 所以可以理解为所有能在屏幕上显示的对象都是Node类的实例,或Node的子类对象 继承关系是这样的 Node------Scene -------Layer -------Sprite ....... Scene,Layer,Sprite,