Node

【Cocos2d-x】开发基础-Node与Node层级架构

主要是树形结构,需要注意的就是添加的顺序和个数一般来说,一个场景会有多个层,我们建立的HelloWord实例中,场景和层是一对一的关系也就是场景中只放了一个层。就是这样一种树形结构Node中重要的操作由于场景、层、菜单、精灵…因为Node类封装了Scheduler类,所以我们也可以直接使用Node中调用函数。Node中调用函数主要有:源代码下载地址:GITHUB源码下载地址:本文章由[谙忆]编写,所有权利保留。

cocos2dx 图片置灰与还原

首先看一下封装好的两个函数:那gray.vsh和gray.fsh又是什么呢?新建一个文本文件命名为gray并保存为.vsh类型,其内容如下:再次新建一个文本文件命名为gray并保存为.fsh类型,其内容如下:注意:p->initWithFilenames;这里对文件引用的路径,我这里直接放到了Resources文件夹下运行效果如下:

cocos2dx 关于节点缩放

按照我的理解,我以为应该是这样:position=(0,anchorPoint=(1,1),scale=1.09但事实上,它却是这样!!!:position=(0,sans-serif">原因在于,一个Node被设置了scale缩放后,其本身的锚点位置并没有变,真实的锚点位置还是相对于原大小的位置,所以你注意我上图中画红点的位置,那就是setAnchorPoint(1,1)之后真实的锚点位置,然后cocos2d-x以新的锚点位置重新执行了scale(1.09)操作,就变成了上图那个样。

cocos2dx使用通知节点NotificationNode的注意事项

如果使用普通的节点的话,切换场景的时候弹出层也会一起移除,查看游戏主循环的代码时,可以在Director类的drawScene()方法中看到如下代码:可以看出_notificationNode这个节点是独立于场景之外单独绘制的,所以不会随着场景的切换而消失。创建一个普通的Node节点,使用Director::getInstance()->setNotificationNode方法设置就可以了。如果不想使用了,怎么删除呢?如果没有处理好,就会报如下错误:CCASSERT(!

cocos2dx[3.2](7) ——节点类Node

否则将追究法律责任。http://www.jb51.cc/article/p-fgbctefg-wx.html与2.x相比,节点类Node的属性和功能做了大幅度的修改与增加。用于枚举某个Node节点的子节点,并让名字符合"name通配符"的子节点执行callback函数。且callback函数返回类型应该为一个bool值,并且返回为true时,结束查找。兄弟节点之间对比。>node2坐标为:,锚点(1,1)。也就是说:node2相对node1的坐标位置。也就是说:node2的坐标现在被看做是相对node1

cocos2dx增加front层并优先响应listener

需求在游戏中会有一些提示性的消息需要显示在UI的最上层,即使是在scene切换的时候也不能消失掉。比如当服务器推送某个消息的时候,需求一个弹窗来展示,但这个时候游戏刚好进行了scene切换,就会导致添加在上一个scene的弹窗消失掉,导致该提示消息无法展示。解决方法我们可以为看到cocos2dx中的调试时候的帧率就是一直显示,哪怕切换场景。这里也使用与之相同的方法。

cocos2d-x 将cocosbuilder输出文件映射成对象的原理

两个重要的类CCNodeLoaderLibrary,这个类的作用是将字符串与加载器指针建立映射,因为C++是没有反射的。ccNodeLoaderLibrary->registerCCNodeLoader;这样的作用是使ccNodeLoaderLibrary在遇到"A"字符串的时候,就知道使用A这个类。CCBReader的作用是实际的读取过程.在CCBReader.cpp中,我们能找到以下代码也就是说,实际调用的仍然是NodeLoder.三。重要的dynamic_cast那事件和变量,又是如何绑定的呢?这就

Cocos Creator的数据管理

1.cocoscreator全局变量a.使用全局模块,定义全局变量,通过引用模块达到目的b.常驻node,该node存在于每一个场景,通过索引node,达到数据全局化