Node

cocos2dx 3.3 Director setNotificationNode BUG

Director_notificationNode中的可以添加很多一直存在的东西,如联网动画,小提示之类,与Scene无关的画面展示,使用3.3版本发现,虽然能够显示,但是加进去的东西不能执行动作也不能设置触控事件,看源码发现少了几句代码voidDirector::setNotificationNode(Node*node){if(_notificationNode){_notificationN

Cocos2d-x3.x引入的新概念:globalZOrder

在Cocos2d-x中,关于node的绘制顺序方面,Cocos2d-x3.x引入了一个新的概念:globalZOrder。在2.x中,node绘制顺序只有使用zorder来设置,这样会有局限性,比如:我有两个Layer:aLayer和bLayer,aLayer里有两个Sprite,:Sprite1和Sprite2,bLayer有一个Sprite:Sprite3,现在我想让Sprite3绘制在Sprite1和Sprite2中间,在2.x的机制里,这几乎不可能实现。在3.x中,使用globalZOrder就可

第二章:Cocos2d-x中的基础概念

由于Cocos2d-x是一个游戏引擎,它提供了一个简化的API用来开发跨平台的移动和桌面游戏。Cocos2d-x将会尽可能的为游戏开发者提供更大的自由空间。主要组件看起来好像很复杂,但是开始使用Cocos2d-x是很简单的。在我们继续进行深入之前,需要理解一些Cocos2d-x中的概念。Cocos2d-x的核心类为Scene,Node,Menu和Action对象。导演类Cocos2d-x使用Director(导演)的概念。在Cocos2d-x中,可以通过API中的addChild()方法来创建_scene

cocos2d-x3.2中的基础概念

在你阅读本章节之前你可能知道一些关于Cocos2d-x的知识,但是你可能想知道更多关于如何使用Cocos2d-x来制作出自己梦想的游戏。Cocos2d-x将会尽可能的为游戏开发者提供更大的自由空间。主要组件看起来好像很复杂,但是开始使用Cocos2d-x是很简单的。在我们继续进行深入之前,需要理解一些Cocos2d-x中的概念。Cocos2d-x的核心类为Scene,Node,Menu和Action对象。导演类Cocos2d-x使用Director(导演)的概念。在Cocos2d-x中,可以通过API中的

【quick-cocos2d-x】灰化效果

id=1976先上效果图:参考:Cocos2d-x让精灵图像变灰的方法借鉴了Cocos2d-x让精灵图像变灰的方法的方法。但这个方法在Quick-Cocos3.2下不能完美实现变灰效果-变灰了的对象的位置会跳到屏幕右上角。百思不得其解,搜一下有没有人发现这个问题,果然有:关于Sprite的setShaderProgram后坐标改变的问题发现4楼的仁兄的回复有亮点:如何在Cocos2d-x3.0中使用openglshader?它存放在cocos/renderer下,名为ccShader_PositionTe

cocos2d-x 代码阅读笔记

接触cocos2d-x没多久,现在逐渐熟悉这个游戏引擎。开源的最大好处就是可以直接阅读引擎代码来了解一些尚无详细文档或书籍的模块。cocos2d-x3.0后自己对物理引擎做了封装,底层物理是chipmunk物理引擎。如果想用Box2d的话,得自己写代码融入cocos2d-x。可能并不完善,只是记录一下学习过程中遇到的一些困惑和心得。

QUICK COCOS2D-X 触摸事件

Quick中的触摸事件Cocos2d-x原本的触摸机制存在一些限制,在使用中需要开发者做不少额外的处理。所以Quick-Cocos2d-x提出了自己的一套触摸机制。触摸区域在Cocos2d-x里,只有Layer对象才能接受触摸事件。所以Quick-Cocos2d-x允许开发者将任何一个Node设置为接受触摸事件。如果设置为false,则Node响应触摸事件后,仍然会将事件继续传递给父对象。但即便禁用了Node的触摸事件,也只能阻止这个Node响应触摸,而不能阻止这个Node的子Node响应触摸。

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

在最近的项目中,开始用到网络。Cocos2d-x的主循环在CCDirector的MainLoop函数中,在这里我们可以添加一个NetworkClient::Update()来执行网络通信的循环。但是这样就会修改Cocos2d-x的引擎代码。想到Unity中的做法,把NetworkClient继承自Node,这样就能继承Node的Update了。但是加上之后,在AppDelegate中NewNetworkClient并没有执行Update。原因如下,虽然添加了scheduleUpdate();但是当前Nod

Cocos2dx 学习笔记23 callfun_selector用法

今天在看到CCAction的继承关系中,有一个CCCallFunc类,其下有三个子类:CCCallFuncNCCCallFuncNDCCCallFuncO于是研究了下这三个类,回想起之前CCObject类中有这样一段代码:typedefvoid(CCObject::*SEL_SCHEDULE)(float);typedefvoid(CCObject::*SEL_CallFunc)();typede