Delta3d框架学习
文章平均质量分 52
Answer-3
学如春起之苗,不见其增,日有所长!
展开
-
扩展框架分析
在服务器端启动通信服务器程序CommunicateServer.exe,接受客户端的连接;在客户端启动GameStart.exe,连接至服务器端,在接收到“Start”消息时启动GameEntryPoint.exe,GameEntryPoint.exe 将根据配置文件(引导文件)加载相应的窗口和相应的逻辑插件;其中窗口负责与用户的交互,逻辑插件负责底层的逻辑运算,交互窗口和逻辑插件根据实时数据库进原创 2017-03-02 11:50:40 · 327 阅读 · 0 评论 -
Delta3d组件以及消息机制
在游戏管理器(GameManager)中维护一个消息队列std::queue(mSendMessageQueue),在GameManager::SendMessage中将消息放入队列中,如下void GameManager::SendMessage(const Message& message) { mGMImpl->mSendMessageQueue.push(dtCore原创 2017-02-27 11:17:32 · 856 阅读 · 0 评论 -
Delta3d框架学习--程序启动过程详解
一个Delta3d程序启动过程详解一、初始化一个dtGame::GameApplication的实例,dtGame::GameApplication* app = new dtGame::GameApplication();设置游戏库的名称,SetGameLibraryName("libname");调用app->Config("config.xml");Config内容如下://原创 2017-02-27 10:18:49 · 1701 阅读 · 0 评论 -
游戏入口点GameEntryPoint
GameStart 通过在我们的库中查找入口点类来调用相应的接口启动我们的应用程序。一旦它找到了入口点,它会调用三个函数来替换掉它自己的应用转向执行我们的游戏循环。游戏入口点对于 GameStart 来说就像ActorPluginRegistry 对于 ActorLibrary 一样。游戏入口点有以下三个函数:1. Initialize() – 传递任何命令行参数。通常我们可以设置并获原创 2017-02-27 11:44:43 · 1159 阅读 · 0 评论 -
Delta3d角色注册机制
角色注册主要通过继承自类dtDAL::ActorPluginRegistry类来实现,重写其中的RegisterActorTypes()即可;在对象工厂ObjectFactory中保存了“角色类型到负责创建角色对象的全局函数”的Map;关键函数有: dtCore::RefPtr ActorPluginRegistry::CreateActor(const ActorType& type)原创 2017-02-27 13:43:56 · 331 阅读 · 0 评论 -
Delta3d动态角色层
DAL 采用一种灵活的、非侵入式的机制来暴露游戏角色的属性信息。 其中两大基础组件就是角色代理和角色属性。角色代理组件就是对底层游戏角色的一个封装,维护单个游戏角色的所有属性信息。而属性组件通过提供对单个游戏角色的所有属性的属性数据访问器来暴露角色的属性数据。 这点类似 Java 中的 Javabean 的属性访问器。 角色代理知道它的属性,属性知道如何访问属性数据。这两个组件被用来提供在不修原创 2017-02-27 13:57:18 · 319 阅读 · 0 评论 -
Delta3d组件机制
dtGame::GMComponent主要用于处理系统中的消息,给系统动态的添加功能,增加系统的可维护性,简单来说,一个游戏管理器组件就是一个由游戏管理器管理的可以处理和发送消息的对象。它不像游戏角色,游戏管理器组件接受系统中所有的消息。通常情况下组件提供高层的系统行为,但它们可以处理你想要的任何事情。游戏管理器组件 是我们向游戏管理器添加自定义行为的最主要的方式。由于组件接受系统中所有的原创 2017-02-27 14:11:16 · 425 阅读 · 0 评论 -
Delta3d插件机制
Delta3d插件机制主要通过以下两个类实现:class MainWindow; /** Abstract interface class for STAGE plugins */ class Plugin { public: virtual ~Plugin() {} /** Is called after原创 2017-02-27 16:26:39 · 456 阅读 · 1 评论