《不靠谱2.x》002.CCDirector

《不靠谱2.x》002.CCDirector,第1张

概述一、概述     CCDirector.h文件包含三个部分:一个ccDirectorProjection枚举类型、CCDirector类自身的定义,以及CCDirector的子类CCDisplayLinkDirector(对CCDirector中4个纯虚函数的实现)。源码如下,已有英文注释,另有少量我自己的注释: typedef enum { /// sets a 2D projectio

一、概述
CCDirector.h文件包含三个部分:一个ccDirectorProjection枚举类型、CCDirector类自身的定义,以及CCDirector的子类CCdisplaylinkDirector(对CCDirector中4个纯虚函数的实现)。源码如下,已有英文注释,另有少量我自己的注释:

typedef enum {    /// sets a 2D projection (orthogonal projection)    kCCDirectorProjection2D,/// sets a 3D projection with a fovy=60,znear=0.5f and zfar=1500.    kCCDirectorProjection3D,/// it calls "updateProjection" on the projection delegate.    kCCDirectorProjectionCustom,/// Default projection is 3D projection    kCCDirectorProjectionDefault = kCCDirectorProjection3D,} ccDirectorProjection;class CC_DLL CCDirector : public CCObject,public TypeInfo{        // 略};class CCdisplaylinkDirector : public CCDirector{public:    CCdisplaylinkDirector(voID)         : m_bInvalID(false)    {}    //@@原来都是CCDirector中的纯虚函数    virtual voID mainLoop(voID);    virtual voID setAnimationInterval(double dValue);    virtual voID startAnimation(voID);    virtual voID stopAnimation();protected:    bool m_bInvalID;};

二、分析
0、CCDirector的父类除了CCObject,还有个TypeInfo,该类只有一个方法getClasstypeInfo,看名字是用于获得类的类型信息,暂不细究。
1、ccDirectorProjection这个枚举类型似乎似乎和项目设置相关,暂不细究。
2、CCdisplaylinkDirector是对CCDirector中4个纯虚方法的实现,同样暂不细究。
3、剩下的就是CCDirector中的方法和成员变量了:
0)项目生成后自动使用的:setopenGLVIEw、setAnimationInterval、runWithScene、stop/startAnimation
1)常用的:获取单例、push/pop/replaceScene、pause/resume/end、getWin/VisibleSize
2)可能有用的:popToRootScene、popToScenestackLevel、getRunningScene、purgeCachedData
3)其他的在基础运用中用到可能性较小,暂不细究
4)CC_PROPERTY定义的一些get、set方法看起来很有用的样子,先放着

三、总结 1、知道了项目的初始化(设置OpenGLVIEw、帧率、是否显示帧率等调试信息、第一个scene的加载)通过CCDirector来实现 2、知道了场景的切换(push/pop/replaceScene) 和控制(pause/resume/end)通过CCDirector来实现 3、知道了屏幕大小(getWin/VisibleSize)通过CCDirector来获取 4、因为一般情况下不会定义一个子类继承自CCDirector(除了这里的CCdisplaylinkDirector),所以除了纯虚函数外的init和getClasstypeInfo这两个虚函数意义不大

总结

以上是内存溢出为你收集整理的《不靠谱2.x》002.CCDirector全部内容,希望文章能够帮你解决《不靠谱2.x》002.CCDirector所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1062393.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存