传奇在线论坛

搜索
查看: 724|回复: 3

[技术文章] 原始翎风Client8位的学习

[复制链接]
  • TA的每日心情
    闭嘴
    2024-4-7 14:49
  • 59

    帖子

    1060

    金币

    0

    GM币

    英勇青铜

    Rank: 1

    积分
    71
    发表于 2023-10-15 10:58:27 | 显示全部楼层 |阅读模式
    重新认识
    从事件的角度
    定义一个TfrmMain 类 这个叫什么?主界面?主窗口 继承于 TDxForm
    frmMain 是它的实例,类变量

    它有FormCreate,FormDestory,FormClose,FormKeyDown,FormKeyPress 个事件。

    此外还将Application.OnIdle 挂到了 AppOnIdle过程中。

    使用了CmdTimer,MinTimer,MouserTimer,SelChrWaitTimer,SpeedHackTimer,Timer1,WaitMsgMimer 7个定时器
    CmdTimer常关闭,1000间隔,处理跟网络连接有关的几个事件 ,切换游戏登陆的几个步骤
    MinTimer常使能,1000间隔执行一次?查询队友 和 清理删除角色
    MouseTimer常使能 间隔50,获取鼠标位置,处理快捷技能ActionKey ,普通攻击,强制攻击,自动挖矿,自动捡取
    SelChrWaitTimer//常不能,需要的时候开启 3300间隔,用来在选择服务器后开启,等待一段时间后进入选择角色状态(等待“开门”的动画完成)

    SpeedHackTimer 常使能 间隔250,常使能
    作用是250毫秒判断一次开机时间计数和当前时间转换后的计算差,差大于70,累计4次关闭程序?
    感觉作用不大,如果是时间来自服务器端,或者其它时间服务器倒是可以

    WaitMsgTimer 常不能 间隔1,
    在DecodeMessagePacket消息处理的 g_boMapMoving判断中使能
    判断地图是否改变,如果改变地图只是处理地图改变下的 清理,再发送地图改变消息

    Timer1 常使能 间隔10 对接受的消息 提取,送到DecodeMessagePacket (data);处理 ,发送查询售卖,修理价格的消息,还有个打开加点的菜单窗口也在这里了。


    通信部分
    CSocket

    绘图部分
    DXDraw

    一个重点DecodeMessagePacket (data);对接受到消息的处理


    楼主热帖
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-1 15:40
  • 82

    帖子

    108

    金币

    0

    GM币

    英勇青铜

    Rank: 1

    积分
    82
    发表于 2023-12-21 12:34:08 | 显示全部楼层
    66666666666666666
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-1 15:40
  • 82

    帖子

    108

    金币

    0

    GM币

    英勇青铜

    Rank: 1

    积分
    82
    发表于 2023-12-21 12:34:29 | 显示全部楼层
    66666666666666666
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-1 15:40
  • 82

    帖子

    108

    金币

    0

    GM币

    英勇青铜

    Rank: 1

    积分
    82
    发表于 2023-12-21 12:39:50 | 显示全部楼层
    66666666666666666
    回复

    使用道具 举报

    *滑块验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Copyright © 2001-2013 Comsenz Inc.Powered by Discuz!X3.4
    Archiver手机版小黑屋传奇在线论坛 QQ
    快速回复 返回顶部 返回列表