自己动手写cocos2dx游戏引擎(三)——Director对象
发布时间:2020-12-14 18:53:25 所属栏目:百科 来源:网络整理
导读:上一节中,最后调用到了APPDelegate中的applicationDidFinishLaunching方法, 在applicationDidFinishLaunching方法中,获取到了Director的一个实例。 Director返回的是其子类DisplayLinkDirector的对象,其实现如下: class Director { public: virtual ~Di
上一节中,最后调用到了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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Objective-C ARC和Legacy Runtime编译错误
- RVM – 为了安装Ruby 1.9,我需要Ruby 1.8.7吗?
- xcode – 根据活动配置将文件复制到捆绑
- Bad XML block :header size 2370 or total size 0 is larg
- SQLite Insert Multiple Records into table
- 领域驱动设计整理——实体和值对象设计
- 从通用抽象类派生的类的C#方法重载问题
- 关于PostgreSQL数据库的 ERROR: relation "tableName&#
- 如何在Swift中为Mac OS X开发一个简单的输入法?
- c# – 将组合框绑定到wpf中的另一个组合框