摘要:设计模式-观察者模式 CCNotificationCenter一般用作通知中心实现步骤:1、添加观察者:在任何地方,只要你你对某个消息感兴趣(和pureMVC中的listNotification一样),你就可以在那里监听该消息。void addObserver(CCObject* target,SEL_CallFuncO callBack,const char* name, CCObject* data);参数1为事件监听的目标,参数2为回调函数(即接收到消息后执行的函数),参数3为消息名,参数4为消息体。具体实现如下:CCNotificationCenter::sharedNotificat
阅读全文
摘要:onEnter() && onExit()例:void GameScene::onEnter() { CCScene::onEnter(); this->playBackgroundMusic(); }
阅读全文
摘要:导演类 CCDirector 的解析bool AppDelegate::applicationDidFinishLaunching() { //初始化导演类 CCDirector *pDirector = CCDirector::sharedDirector(); pDirector->setOpenGLView(&CCEGLView::sharedOpenGLView()); //高分辨率屏幕(例如 Retina 屏幕)的资源管理 //pDirector->enableRetinaDisplay(true);...
阅读全文
摘要:Cocos2dx 容器 Cocos2d-x引擎为我们提供了CCArray、 CCDictionary等Objective-C风格的容器。对C++标准库比较熟悉的读者可能疑惑,开发过程中为什么不直接使用 vector 等标准库已经提供的高效容器呢? 使用 Cocos2d-x 容器的一个重要原因在于 Cocos2d-x 的内存管理。一般来说,被存入容器的对象在移除之前都应该保证是有效的,回顾一下引用计数的管理原则,对象的存入和移除必须对应一组 retain()和release()或者对应 autorelease()。直接使用 STL 容器,开发者势必进行烦琐重复的内存管理操作,而 Cocos.
阅读全文
摘要:一、智能内存管理计数-智能指针(来自Cocos2dx的抄录)目前,主要有两种实现智能管理内存的技术,一是引用计数,一是垃圾回收。引用计数:它是一种很有效的机制,通过给每个对象维护一个计数引用计数器,记录该对象当前被引用的次数。当对象增加一次引用时,计数器+1;而对象失去一个引用时,计数器-1;当引用计数为0时,标志着该对象的生命周期结束,自动触发对象的回收释放。引用计数的重要规则是每个程序片段必须负责任地维护引用计数,在需要维持对象生存的程序段的开始和结束分别增加和减少一次引用计数,这样我们就可以实现十分灵活的智能内存管理。实际上,这与 new 和 delete 的配对使用十分类似,但是很巧妙
阅读全文
摘要:Cocos2dx的选择器schedule_selector(SELECTOR)callfunc_selector(SELECTOR)callfuncN_selector(SELECTOR)callfuncND_selector(SELECTOR)menu_selector(SELECTOR)event_selector(SELECTOR)compare_selector(SELECTOR)附:
阅读全文
摘要:场景的调用 -- CCScene转自:http://blog.163.com/jtyp_2000/blog/static/9910426201310411650134/runWithScene(CCScene* scene):启动游戏,并运行scene 场景。这个方法在主程序启动时第一次启动主场景时调用。replaceScene(CCScene* scene):直接使用传入的scene 替换当前场景来切换画面,当前场景将被释放。这是切换场景时最常用的方法。pushScene(CCScene* scene):在不释放旧场景内存的情况下运行新场景,推进新场景相当于在当前可见的纸上再放一张纸,而之前
阅读全文
摘要:Cocostudio1.2 && cocos2dx2.2.1记录下简单的骨骼动画 UILayer* ulArmature = UILayer::create(); this->addChild(ulArmature); CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("DemoPlayer.ExportJson"); CCArmature* arm = CCArmature::create("DemoPlayer"); //与“De
阅读全文
摘要:Cocos2dx 2.2.1此处的UIListView并没有通过Cocostudio获取得到,由纯Code产生,实现如下ShowGame.h#ifndef __SHOWGAME_H__#define __SHOWGAME_H__#include "cocos2d.h"#include "cocos-ext.h"USING_NS_CC;USING_NS_CC_EXT;class ShowGame : public cocos2d::CCLayer{public: virtual bool init(); static cocos2d::CCScene* s
阅读全文
摘要:有这种宏,那种宏,各种各样的宏:NS_CC_BEGIN cocos2d命名空间开始NS_CC_END cocos2d命名空间结束USING_NS_CC 声明cocos2d命名空间USING_NS_CC_EXI 声明extensions命名空间==PROPERTY===========peace line========================================================PROPERTY:只定义,无实现CC_PROPERTY(varType, varName, funName)定义一个属性及其访问器,无实现,既是表明get##funName和set##
阅读全文
摘要:运行 doxygen, 选择 file->open打开Cocos2dx目录下的\document\doxygen.config,配置好一切参数,Run doxygen
阅读全文
摘要:Visual Leak Detector是过去(Visual Studio 2008的时代)我们常用的C/C++内存泄露检查工具。在Visual Studio 2010中依然可以使用该工具,但有两点需注意:版本问题设置变化版本问题:在codeproject.com上面提供的最新版本依然是1.9d,但...
阅读全文
摘要:摇杆作为游戏的控制,已是作为学做游戏的基础部分!实现部分,应该将摇杆是现在一个层(cocos2dx-layer),这个层为控制层!一下是实现代码!简单,不一一介绍... ...JoystickLayer.h#ifndef __JOYSTICKLAYER_H__#define __JOYSTICKLAYER_H__#include "cocos2d.h"USING_NS_CC;class JoystickLayer : public cocos2d::CCLayer{public: virtual bool init(); CREATE_FUNC(JoystickLayer)
阅读全文
摘要:不得不说Cocos2dx提供了很好的手机屏幕自适应方案(1)适配策略kResolutionNoBorder:超出屏幕的部分会被裁剪,两侧没有黑边,铺满屏幕,按图片原始比例显示,图片不变形。kResolutionShowAll:整个游戏界面是可见的,会按原始比例进行缩放,图片不变形,但两侧可能会留有黑边,不铺满屏幕。kResolutionExactFit:整个游戏界面是可见的,图片可能会进行拉伸或者压缩处理,铺满屏幕,图片会变形。(2)VisibleSize和VisibleOrigingetVisibleSize:表示获得视口(可视区域)的大小,如果DesignResolutionSize跟屏幕
阅读全文
摘要:转自:http://blog.csdn.net/fansongy/article/details/12757411CocoStudio支持cocos2dx 2.2,也支持3.0。本转载的是3.0的,本人用的是2.2。1、概述 CocoStudio的使用无疑是cocos2d-x 3.0的重要组成部分,接下来我们用它来创建一组UI,并将其读入到程序中显示出来。先上效果图:2、创建、编辑UI 首先,运行CocoStudio,选择UI Editer(第二个)。进入后,从“文件”->“新建项目”->输入相应的项目名称和路径。创建好的新项目应该是这样:3、导出 在导出之前,最好先创建一个新的工
阅读全文
摘要:转自:http://patmusing.blog.163.com/blog/static/135834960201001512358686/对于一个完整的程序,在内存中分布情况如下图:值得一提的是:在C#中struct存放在栈区,class存放在堆区,所以一般struct要比class要快的。堆和栈的比较表(仅针对C++):栈(Stack)堆(Heap)申请方式由OS自动分配。例如在函数声明一个局部变量int b; OS自动在栈中为b开辟空间需要程序员自己申请,并指明大小,在c中malloc函数,如p1 = (char*)malloc(10);在C++中用new运算符如p2 = new cha
阅读全文
摘要:参考链接:http://blog.csdn.net/feng88724/article/details/6236332
阅读全文
摘要:cocos2d-x中CCCallFunc CCCallFuncN CCCallFuncND的区别和使用示例来源:本站原创cocos2d-x,游戏开发超过围观3条评论CCCallFunc CCCallFuncN CCCallFuncND的区别和使用CCCallFunc CCCallFuncN CCCallFuncND都用来创建带有回调函数的动作,区别主要在于回调函数是否带有参数CCCallFuncCCCallFunc是执行对应的回调函数,其中回调函数不可带参数。一般使用静态成员函数create创建实例,create声明如下:static CCCallFunc* create(CCObject*
阅读全文
摘要:对于CCLayer子类,想响应触屏事件比较简单,init的时候调用setTouchEnable(true)并重载下列函数: virtual void registerWithTouchDispatcher(void); virtual bool ccTouchBegan(CCTouch *pTouch,CCEvent *pEvent); virtual void ccTouchMoved(CCTouch *pTouch,CCEvent *pEvent); virtual void ccTouchEnded(CCTouch *pTouch,CCEvent *pEvent)...
阅读全文
摘要:1.win7; vs2010; cocos2dx(v2.2); cygwin;android_adt(sdk); NDK9.0;jdk(1.6最高版本)此次环境问(x6bit)环境;以上工具可从官网下载;android_sdk与ndk解压即2.cocos2dx--可参考Cocos2dx(1) 环境&Hello3.cygwin选择安装项,找到Devel改成Install,其他的保持默认(网上推介:原文:http://blog.sina.com.cn/s/blog_458f4a2c0101exve.html) cygwin全选安装项,除了要下载很久,还要安装好久的说,而且在安装texliv
阅读全文