问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

传奇网页游戏源码?

发布网友 发布时间:2022-04-22 06:24

我来回答

3个回答

热心网友 时间:2024-04-02 18:25

传奇的客户端源代码有两个工程,WindHorn和Mir2Ex。
先剖析一下WindHorn工程。
1.CWHApp、CWHWindow和CWHDXGraphicWindow。Window程序窗口的创建。
CWHApp派生CWHWindow,CWHWindow又派生CWHDXGraphicWindow。CWHWindow类
中完成窗口的注册和创建。CWHDXGraphicWindow调用CWHWindow完成创建窗口功能,然后再调用CreateDXG()来初始化DirectX。

2.CWHDefProcess派生出CloginProcess、CcharacterProcess、CgameProcess三个类。
这三个类是客户端处理的核心类。

3. 全局变量:
CWHDXGraphicWindow g_xMainWnd; 主窗口类。
CLoginProcess g_xLoginProc; 登录处理。
CCharacterProcess g_xChrSelProc; 角色选择处理。
CgameProcess g_xGameProc; 游戏逻辑处理。

4.代码分析:
1.首先从LoginGate.cpp WinMain分析:
g_xMainWnd定义为CWHDXGraphicWindow调用CWHWindow完成创建窗口功能,然后
调用DirectDrawEnumerateEx枚举显示设备,(执行回调函数DXGDriverEnumCallbackEx) 再调用CreateDXG()来初始化DirectX(创建DirectDraw对象, 取得独占和全屏模式, 设置显示模式等)。
g_xSound.InitMirSound创建CSound对象。
g_xSpriteInfo.SetInfo();
初始化声音,加载Socket库之后,进行CWHDefProcess*指针赋值(事件绑定)。g_bProcState变量反应了当前游戏的状态(登录,角色选择,游戏逻辑处理)。调用Load初始化一些操作(登录,角色选择,游戏逻辑处理)。进行消息循环。
case _LOGIN_PROC:
g_xLoginProc.RenderScene(dwDelay);
case _CHAR_SEL_PROC:
g_xChrSelProc.RenderScene(dwDelay);
case _GAME_PROC:
g_xGameProc.RenderScene(dwDelay);
根据g_bProcState变量标志,选择显示相应的画面。

2.接收处理网络消息和接收处理窗口消息。
在不同的状态下(登录,角色选择,游戏逻辑处理),接收到的消息(网络,窗口消息)会分派到不同的函数中处理的。这里是用虚函数处理(调用子类方法,由实际的父类完成相应的处理)。
OnMessageReceive主要处理网络消息。DefMainWndProc则处理窗体消息(按键,重绘等),创建窗体类为CWHDXGraphicWindow,回调函数为:
MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) [Page]
if ( m_pxDefProcess )
m_pxDefProcess->DefMainWndProc(hWnd, uMsg, wParam, lParam);
else
return MainWndProcDXG(hWnd, uMsg, wParam, lParam);

m_pxDefProcess->DefMainWndProc调用父类的实际处理。
在WM_PAINT事件里: g_xClientSocket.ConnectToServer连接登陆服务器。

热心网友 时间:2024-04-02 18:26

核心就是最经典的pk和沙城,屋忧传奇 做任务的时候用,一直跟着主线任务走,先不要关支线任务,如果做到中途,主线任务不能做了再返回来做支线任务,那样升级就想到快了,因为先做主线任务可以开启游戏里面的各种功能,如果任务做完还是不能升级的话,大家搞一下装备跟召唤出来的人物,再把潜质搞下,搞得差不多了就刷副本轮回去,轮回副本里面的经验超高,升级刷刷的哦。

热心网友 时间:2024-04-02 18:26

不懂...没那麼简单的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我这个配置能玩大唐无双2吗 PK什么的能卡么? 求高手解答 这样的配置还要加什么玩大唐无双才不卡 这个配置能玩大唐无双双开吗? windows7旗舰版系统玩大唐无双零双开卡怎么办?卡死了。 玩大唐无双的时候双开过地图太卡怎么解决啊 全民枪战我用QQ号,但它说密码数字英文,下划线组成,应该怎样弄啊?_百 ... 小太阳取暖器头晕呕吐 取暖器用的会头晕吗,可能的原因和使用注意事项 男孩姓孙含越字好名字 简单特别的男孩名字越 中间是越的男孩名字大全 网页游戏源代码 怎么改 抽奖源代码 怎么改 怎么弄单机网页游戏,有源代码 想开个网站,到哪里买 网页游戏源码 哪里有不错的? 为什么我在QQ空间发表的说说,别人不能转发 谁有好玩一点的网页游戏源码 哪里有网页游戏全套源码分享 qq空间为什么不能转发说说 有没有比较擅长于H5小游戏源码的? qq空间怎么别人转发不了我的说说 请问哪为朋友知道比较完整的网页游戏源码(如视频... 天翼云服务器欠费能远程访问吗 你好 我的qq空间的说说想让别人转发 但是别人转发... 求html5 接金币游戏源码,手机网页版。 别人不能转发我发的说说是怎么回事 1.天翼云服务器迁移工具通过什么控制迁移过程 求网页游戏源代码 QQ空间说说别人不能转发 为什么我的天翼云文件上传一直出现“服务器返回错误”? 网页游戏源码的使用是什么? 天翼云如何清理服务器垃圾 b站会员答题60分和100分有区别吗 b站会员多少分及格 b站会员题目满分是多少? 怎么样才能成为Bilibili的会员 在B站回答完题目为什么没有显示分数? 哔哩哔哩答题及格之后就是正式会员了吗? bilibili成为会员答题攻略 b站答题100分是什么称号啊 刚刚我在b站会员答题,礼仪题过了,后面的测试64分... bilibili会员答题满分多少 我在b站答题得了73分,为什么没有成为正式会员 酱爆杏鲍菇的做法 回家吃饭酱爆杏鲍菇的做法 酱爆杏鲍菇的做法? 在秋天,想让孩子能够长高,可以给他做什么菜? 怎样用杏鲍菇做下饭菜 酱爆杏鲍菇天天饮食什么时间煮过 杏鲍菇有哪些做法大全 杏鲍菇的5种做法你喜欢哪个 杏鲍菇最佳搭配