游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1667|回复: 2

找扁的游戏制作教程(三)

[复制链接]

29

主题

421

帖子

436

积分

中级会员

Rank: 3Rank: 3

积分
436
发表于 2005-8-2 11:28:00 | 显示全部楼层 |阅读模式
找扁的游戏制作教程(二)的后一篇
写的太烂,请一定不要转载。多谢多谢。

STEP-03
添加了UiFrame基类,这个类是实现所有游戏界面的基础。我将在下一篇专门讲解游戏界面的部门。
游戏中的界面全部采用脚本实现,目的是避免程序对过多的界面进行编码,而全部由Lua脚本+XML来实现。这样做有如下好处。
一、代码少,错误就少
二、界面部分的具体实现和程序无关,交给相关的人员处理,例如策划或者美术,他们爱怎么摆放就怎么摆放,爱怎么处理就怎么处理。就算脚本写错了,错也不再程序哦。哈哈哈。
三、如果有必要,玩家也可以自己定义自己喜欢的界面。俗称换皮肤(Skin)。

本次增加了音乐和音效的播放部分。
本篇重点在Lua的脚本配合XML语言来设置灵活可变的游戏界面。此次内容比较多,我在下一篇中将详细介绍界面的编写。

注意。本次的分为打包和非打包2中,打包的意思就是客户端今后文件内容少。不打包的意思就是自己调试方便。
今后的教程,所有资源都将是打包形式出现,请自行解包。

km3d库的下载地址是
http://www.honorgames.com/down/km3dlib.zip
程序源代码和执行程序的下载地址是
http://www.honorgames.com/down/step-03.zip

下载后,请仔细详细耐心的阅读Reame.txt

Email:blizzardcrack@gmail.com

29

主题

421

帖子

436

积分

中级会员

Rank: 3Rank: 3

积分
436
 楼主| 发表于 2005-8-2 15:27:00 | 显示全部楼层

Re: 找扁的游戏制作教程(三)

本step的程序中提高了一个我称之为游戏界面状态的概念。
我将游戏主分为3个界面需求,因为我觉得这些界面不大可能同时存在。
1、主选菜单界面
2、Loading界面
3、游戏界面

//定义如下
enum GAME_STATA{
        S_MAIN_MENU_WND = 0,
        S_LOADING_WND,
        S_GAME_WND
};

每个界面为一个WND类来管理,通过设置
int nGameStata;//游戏状态
的数值在3个游戏界面中进行切换。每个WND自己管理自己的消息。

其中"主选菜单界面"可以继续分为4个子界面
enum MAINMENU_ST{
        MAINWND_ST_LOGIN = 0, // 登陆画面
        MAINWND_ST_SERVERLIST, // 选择服务器列表画面
        MAINWND_ST_SELECTCHARACTER,// 选择角色画面
        MAINWND_ST_CREATECHARACTER // 建立新角色画面
};
其实这4个界面也都是单独存在的,之所以把这个4个界面当作"主选菜单界面"子界面而不单独提出来的意思主要是,该4个界面都有可能处理来与服务器的交互信息,而且有可能在交互中进行界面切换。于是,我只在父界面接受消息,然后将相应的消息转给子界面处理做相应的处理。

同时这4个界面的内容在游戏初始化的时候,因为内容不多,我一次读入,进入Loading界面的时候,在一次性删除。比较方便。


Loading界面一般是第一次进入地图时候,需要做的一个比较特别的多线程处理。一般来说loading不使用3D模型背景,而做成平面的。目的就是该渲染线程最好不要占用cpu资源。loading时候太多的io和解压缩操作了。用多线程的意思是,总不能不画Loading状态吧。


游戏主界面之会有一个。里面包含N多个非模态的对话框(就是各种状态界面,例如人物属性,背包,地图,快捷栏,对话框等等等等),然后用开关来控制这些对话框的显示/隐藏。今后的解释中将用subframe单词来描述。

16

主题

160

帖子

176

积分

注册会员

Rank: 2

积分
176
QQ
发表于 2005-8-4 17:18:00 | 显示全部楼层

Re:找扁的游戏制作教程(三)

没有代码啊???:-(
不想研究了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-26 18:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表