MMORPG大型游戏设计与开发(客户端架构 part7 of vegine)
我在讲述某个东西的时候总喜欢从简单的入手,然后从互相关联的地方联合讲解,因为时间关系所以没能讲的十分详细,这点引以为憾,希望得到大家的谅解。这一节讲述的是微引擎(vengine)比较简单的一个模块,那便是鼠标指针的模块,方法也提供的不多,相信大多数熟悉VC的朋友们已经掌握了这方面的知识,我也就不在此班门弄虎了。
CODE
文件system.h
/** * PAP Engine ( -- ) * $Id system.h * @link -- for the canonical source repository * @copyright Copyright (c) 2013-2014 viticm( viticm@126.com ) * @license * @user viticm<viticm@126.com/viticm.ti@gmail.com> * @date 2014-3-19 16:52:24 * @uses vengine cursor system module */ #ifndef VENGINE_CURSOR_SYSTEM_H_ #define VENGINE_CURSOR_SYSTEM_H_ #include "vengine/config.h" #include "vengine/kernel/node.h" namespace vengine_cursor { typedef enum { kTypeWinBase = 0, kTypeNormal, //普通 kTypeAutoRun, //自动行走中 kTypeAttack, //攻击中 kTypePickup, //拾取物品 kTypeUnreachable, //区域无法访问 kTypeMine, //采矿 kTypeHerbs, //采药 kTypeTalk, //对话 kTypeInteract, //齿轮 kTypeRepiar, //修理 kTypeHover, //鼠标激活(挂接物品) kTypeIdentify, //鉴定 kTypeRing, //技能环 kTypeDirection, //方向 kTypeNumber } type_enum; //指针类型定义 class VENGINE_API System : public vengine_kernel::Node { VENGINE_KERNEL_DECLARE_DYNAMIC(vengine_cursor_System); public: virtual void set(type_enum type) = 0; virtual HCURSOR get() = 0; /* enter ui control model */ virtual void enterui(HCURSOR hcursor) = 0; virtual void leaveui() = 0; /* 应WM_SETCURSOR */ virtual void onset() = 0; /* 显示或隐藏 */ virtual void show(bool flag) = 0; }; }; //namespace vengine_cursor #endif //VENGINE_CURSOR_SYSTEM_H_
总结
这一节我也不做详细的介绍,代码中几个简单的方法,想必已经相对清晰了,以后会再更新这些方面的详细解说。下一节讲解的也是一个非常简单的模块,脚本(LUA)模块。
作者:viticm
出处: http://www.cnblogs.com/lianyue/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现