
上一节中,最后调用到了APPDelegate中的applicationDIDFinishLaunching方法,
在applicationDIDFinishLaunching方法中,获取到了Director的一个实例。
Director返回的是其子类displaylinkDirector的对象,其实现如下:
class Director { public: virtual ~Director() {} static Director* getInstance(); virtual bool init();};class displaylinkDirector : public Director { public:};static displaylinkDirector *s_SharedDirector = NulL;Director* Director::getInstance(){ if (!s_SharedDirector) { s_SharedDirector = new displaylinkDirector; s_SharedDirector->init(); } return s_SharedDirector;}bool Director::init(){ return true;} 在Director的getInstance中,返回了一个静态的子类对象,并调用了其初始化方法。
在AppDelegate中调用:
#ifndef __APP_DELEGATE__#define __APP_DELEGATE__#include "Application.h"#include "Director.h"#include <iostream>class AppDelegate: private Application { public: virtual bool applicationDIDFinishLaunching() { std::cout << "delegate applicationDIDFinishLaunching" << std::endl; Director* director = Director::getInstance(); return true; } };#endif 就添加了两个类Director和其子类displaylinkDirector。
附代码:demo3
总结以上是内存溢出为你收集整理的自己动手写cocos2dx游戏引擎(三)——Director对象全部内容,希望文章能够帮你解决自己动手写cocos2dx游戏引擎(三)——Director对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)