《不靠谱2.x》002.CCDirector
一、概述 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;
};
二、分析 三、总结 1、知道了项目的初始化(设置OpenGLView、帧率、是否显示帧率等调试信息、第一个scene的加载)通过CCDirector来实现 2、知道了场景的切换(push/pop/replaceScene) 和控制(pause/resume/end)通过CCDirector来实现 3、知道了屏幕大小(getWin/VisibleSize)通过CCDirector来获取 4、因为一般情况下不会定义一个子类继承自CCDirector(除了这里的CCDisplayLinkDirector),所以除了纯虚函数外的init和getClassTypeInfo这两个虚函数意义不大 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |