摘要: cocos2d-x提供的粒子系统有CCParticleSystem类实现,实现了对粒子的控制与调度,对粒子的操作包括以下: 产生粒子:也被称作粒子发射器emitter。 更新粒子状态:引擎会随着时间更新粒子位置、速度已经其他状态。 回收无效粒子:当粒子的生存周期结束后,就会被系统回收。 从plist 阅读全文
posted @ 2016-02-27 20:22 ChenYao_Freedom 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 文本框控件CCTextFieldTTF: const char* getString(void); 获取当前字符串 bool attachWithIME(); 激活输入法 bool detachWithIME(); 取消激活输入法 例如: 1 CCTextFieldTF text = CCTextF 阅读全文
posted @ 2016-02-27 20:21 ChenYao_Freedom 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 使用CCLayer响应触摸事件: 开启了层的触摸输入支持后,就可以在层中处理触摸事件了,当引擎接收到触摸事件就会调用下面的方法: 1 virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent); 2 vritual void ccTou 阅读全文
posted @ 2016-02-27 20:19 ChenYao_Freedom 阅读(359) 评论(0) 推荐(0) 编辑
摘要: #include "SimpleAudioEngine.h" 音效引擎是一个单例类: SimpleAudioEngine::sharedEngine(); 进入游戏场景前需要预加载音乐和音效 1 void preloadEffect(const char* pszFilePath); 2 void 阅读全文
posted @ 2016-02-27 20:18 ChenYao_Freedom 阅读(463) 评论(0) 推荐(0) 编辑
摘要: CCTransitionScene用来实现场景切换特效,派生于CCScene,也就是说场景特效也是一个场景。 例如: 1 CCDirector::sharedDirector()->replaceScene(CCTransitionFlipX::transitionWithDuration(2, p 阅读全文
posted @ 2016-02-27 20:17 ChenYao_Freedom 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 基本概念: CCAction是动作类的基类,所有动作都派生自这个类,它创建一个对象代表了一个动作,动作作用于CCNode。 值得注意的是:一个CCAction只能使用一次,这是因为动作对象不仅描述了动作,还保存了这个动作持续过程中不断改变的一些中间参数。对于需要反复使用的动作对象,可以通过copy方 阅读全文
posted @ 2016-02-27 20:15 ChenYao_Freedom 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 游戏主循环: CCDirector包含一个管理引擎逻辑的方法,它就是CCDirector::mainLoop()方法,这个方法负责调用定时器,绘图,发送全局通知,并处理内存回收池。该方法按帧调用,每帧调用一次。 mainLoop() 方法把内存管理以外的操作交给了drawScene()方法。 dra 阅读全文
posted @ 2016-02-27 20:13 ChenYao_Freedom 阅读(407) 评论(0) 推荐(0) 编辑
摘要: CCLayerColor : 一个单纯的实心色块 CCLayerGradient : 一个色块,但可以设置两种颜色的渐变效果 CCMenu : 游戏菜单 CCLayerColor: 如果采用指定了宽与高的初始化方法,则创建一个指定大小的色块;如果采用不指定大小的初始化方法,则创建一个屏幕大小的色块。 阅读全文
posted @ 2016-02-27 20:12 ChenYao_Freedom 阅读(288) 评论(0) 推荐(0) 编辑
摘要: CCNode定义了一个可绘制对象的通用特性,包括位置、缩放、是否可见、旋转角度等。 节点功能包括:包含其他CCNode对象、接受各种事件与回调函数、运行动作。 坐标系: 绘图坐标系:与OpenGL采用的坐标系相同。以左下角为原点,向右为x轴正方向,向上为y轴正方向。 纹理坐标系:以左上角为原点,向右 阅读全文
posted @ 2016-02-27 20:10 ChenYao_Freedom 阅读(783) 评论(0) 推荐(0) 编辑
摘要: 使用图片文件创建精灵的相关方法: 1 static CCSprite* create(const char *pszFileName); 2 static CCSprite* create(const char *pszFileName, const CCRect& rect); 3 bool in 阅读全文
posted @ 2016-02-27 20:09 ChenYao_Freedom 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 导演类主要负责一下工作: 游戏呈现方面的设定,包括设定游戏呈现的窗口、FPS显示、默认帧率上限、纹理颜色位宽等。 切换当前的游戏场景,暂停或恢复游戏场景的运行。 游戏在CCDirector的管理下完成了呈现设定与流程控制。 CCDirector扮演着全局大总管的角色,因而很自然地采用了单例的设计模式 阅读全文
posted @ 2016-02-27 20:08 ChenYao_Freedom 阅读(137) 评论(0) 推荐(0) 编辑
摘要: CC_SAFE_DELETE(p) 使用delete操作符删除一个C++对象p,如果p为NULL,则不进行操作。 CC_SAFE_DELETE_ARRAY(p) 使用delete[]操作符删除一个C++数组p,如果p为NULL,则不进行操作。 CC_SAFE_FREE(p) 使用free()函数删除 阅读全文
posted @ 2016-02-27 20:04 ChenYao_Freedom 阅读(121) 评论(0) 推荐(0) 编辑
摘要: autorelease()并不是毫无代价的,其背后的垃圾池机制同样需要占用内存和CPU资源,每次执行autorelease()的过程,实际上对应的是执行成对的retain()和release(),以及一次成对的容器存取,还包括其他的逻辑判断。过多不必要的autorelease()将导致垃圾池臃肿。 阅读全文
posted @ 2016-02-27 20:03 ChenYao_Freedom 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 目前实现智能管理内存的技术,一是引用计数,一是垃圾回收。 引用计数:是一种很有效的机制,通过给没个对象维护一个引用计数器,记录该对象当前呗引用的次数。当对象增加一次引用时,计数器加1;而对象失去一次引用时,计数器减1;当引用计数为0时,标志着该对象的生命周期结束,自动触发对象的回收释放。引用计数的重 阅读全文
posted @ 2016-02-27 20:00 ChenYao_Freedom 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 工厂方法是程序设计中一个经典的设计模式,指的是基类中只定义创建对象的接口,将实际的实现推迟到子类中。 如: 1 CCObject* factoryMethod() { 2 CCObject* ret = new CCObject(); 3 //在这里对ret对象进行必要的初始化操作 4 return 阅读全文
posted @ 2016-02-27 19:56 ChenYao_Freedom 阅读(336) 评论(0) 推荐(0) 编辑