zoukankan      html  css  js  c++  java
  • 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)模块。

  • 相关阅读:
    [Go] 实现websocket服务端
    [PHP] php使用event扩展的io复用测试
    [MySQL] 使用force index强制使用索引
    [Go] 使用net包作为tcp客户端读取http
    [Go] golang中的包管理
    [Go] 解决golang.org模块无法下载的问题
    [日常] linux设置环境变量
    [Go] golang定时器与redis结合
    [Go] golang定时器的使用
    [Linux] linux路由表
  • 原文地址:https://www.cnblogs.com/lianyue/p/3904951.html
Copyright © 2011-2022 走看看