Node

cocos2dx-js 鼠标事件管理器

propagation){event.stopPropagation();}}};MouseManager.mouseUp=function(event){varnode=event.getCurrentTarget();varevent_node=MouseManager._getEventNode(node);if(!event_node){return;}varpos=event.getLocation();//cc.log("->MouseManager::pressUpx="+pos.x+",y

clipNode

本节要讲的ClippingNode的功能效果大致就是上面所看到的遮罩效果。ClippingNode是Node的子类,可以像普通节点一样放入Layer,Scene,Node中。ClippingNode是利用模板遮罩来完成对Node区域裁剪的技术。

Cocos2d-x V3.x内存管理分析

因而对于写过OC程序的朋友来讲,cocos2d-x的内存管理应该是一目了然的,但对于本渣这枚没接触过OC的C++码农来说,或许直接看cocos2d-x源代码才是最直接快捷的方式。Ref类在cocos2d-x中,Node类的父类是Ref类,之前我们所看到的autorelease方法实际上就来自于这个父类。需要注意的是,cocos2d-x的单例类都不是线程安全的,跟内存管理紧密相关的PoolManager类也不例外,因此在多线程中使用cocos2d-x的接口需要特别注意内存管理的问题。

cocos creator 触摸捕捉事件

node对于触摸事件的捕捉是基于它本身的size范围的,如果这个node本身大小为0,则无法响应捕捉事件。代码相当的简单,如果大小size设置得没问题,则可以响应此事件!

【cocos2d-x 3.x 学习与应用总结】2: 在cocos2d-x中使用ccbi

前言本文以3.9版本的cocos2d-x为例,总结了如何在代码中解析、加载ccbi文件。给出一个最简单的使用ccbi实现的helloworld的例子、一个加强版的HelloWorld示例、以及一个最贴近实际使用情况的ccbi使用示例,并结合示例分析ccbi的解析过程。下面以我的实际使用经验总结一下在实际项目中该如何使用ccbi,先从一个HelloWorld说起。

cocos2d 一个坑爹的内存泄露

讲上面这个原因是今天分析了一下游戏的性能,然后就发现了这个坑爹的内存泄露。正常来说csloader并没有什么问题,但是一些特殊的情况就会造成内存泄露。Node被删除是在release中,当_referenceCount为0时就会释放Node占用的内存。所以在node1cleanup时,会触发node2的cleanup,终止node2的动作,从actionmanager中移除node2,node2的计数-1。这也是最开头的哪个泄露的原因,node没有从actionmanager中移除,一直保持了1的状态。

cocos2d-x 图片变灰

cocos2d-x版本3.8近日要用到图片变灰的效果,在网上搜索大致有两种方法:1是取出image,对每个像素进行处理,可以实现,但循环次数太多,不与理会。突然想到UIButton的禁用就是变灰效果,于是查看源码,原来变灰的shader不知什么版本起已经预制了,抄之,代码如下:变灰还原

读书笔记Cocos2d-x之场景、层

Scene:场景在Cocos2d-x中,Scene定义了一个场景。场景只是层的容器,包含了所有需要显示的游戏元素。场景还有一个作用就是流程控制。利用Director::replaceScene等方法,可以使游戏在不同场景中自由切换。先添加的层会被置于后添加的层之下。如果想要为它们指定先后次序,可以使用不同的zOrder值,zOrder代表了该节点下元素的先后次序,值越大则显示顺序越靠上。zOrder的默认值为0.tag是元素的标识码,如果为子节点设置了tag值,就可以在她的父节点中利用tag值找到它。