DirectX 9 UI设计学习笔记之一:开场白+第一章User Interfaces

本文是哈大锤关于DirectX 9 UI设计的学习笔记,探讨了用户界面的基本概念,包括UI的定义、控件类型、界面流程图和设计技巧。作者计划以此为基础,逐步学习并分享DX 9 UI的实现心得。
摘要由CSDN通过智能技术生成

       大家好!我叫哈大锤,万万没想到我竟然开始学习UI 编程了!学完之后,我就能够设计出一款不错的游戏引擎,然后找到工作,妈妈再也不用担心我的学习了!用不了多久,我就能升职加薪,打败纳德拉,追上比尔·盖茨,赢取小度娘,走上人生巅峰!嘿嘿,想想还真有点小激动呢!

       此文由哈利_蜘蛛侠原创,转载请注明出处!有问题欢迎联系本人!

       邮箱:2024958085@qq.com

 

开场白

======================================================================

       可能有人要问了:你丫还有三个坑没填呢,怎么又开新坑啦?在此先对大家说声抱歉,之前的几个坑短期内不会很快更新了(不过如果回复数比较多的话,我可能会改变主意的,嘿嘿!)。这里我要开始一个新的系列,讲的是使用DX 9 进行游戏的UI 设计与实现的。

       大家一定会问为何要学习这个?这个说来话长。

       比较关注本人的同学应该知道,我有一个终极目标,就是用DX 9 开发出一款值得一玩的RPG!不过这个目标毕竟太难以实现了。我先是参考了Jim Adams 的《Programming Role Playing Games with DirectX 9: 2nd edition》这本书,但是这本书毕竟很老了,而且讲得不太科学(比如说单单是第2章就涵盖了“龙书”第二版花了10章才讲完的内容……),内容不是很好懂,所以我就暂时将它扔在一边了。可能以后适当的时候会参考的——虽然里面的游戏貌似很粗糙,但是涵盖的范围还是挺广的。

       然后我基本上就一直在继续学习“龙书”第二版了。不过到了网格那里的时候,遇到了两个问题,一个是跟纹理间的赋值有关的,另外一个是跟网格的Clear 有关的。第一个问题花了我几个星期才搞定,其实是COM 组件的特殊性所导致的;而另一个问题至今没有解决。所以我就对“龙书”第二版有了些许失望,然后我就一拍脑门买了“龙书”的第四版,然后学起了DX 11 编程。

       这两个多星期的学习还是挺顺利的。毕竟有了“龙书”第二版的基础,虽然DX 11 相对于DX 9.0c 变化了许多,但是吸收起来是不难的。

       不过到了纹理映射那一章,我发现一个不太复杂的、有山有水的、有光线有动态顶点缓存有纹理贴图的场景的帧数只有80多帧了。我学习DX 9.0c 的时候没有载入过这么大的场景,也不确定如果换成DX 9.0c 的话会不会这样慢;但是我对于DX 11 有点不放心了起来。虽然我的电脑比较新,完全支持DX 11,但是毕竟被我玩坏过几次,还是个笔记本,所以我有点不太敢继续往下学了。毕竟,开发游戏的过程中,也许对硬件的要求比到时候实际运行游戏的时候还要高!

       所以我又有点想回归DX 9了。另外一个方面是,学了这么久还没有做出来过一个特别好玩的东西,未免有点不耐烦。于是前几天我有了一个大胆的想法,就是开发出一个游戏引擎!

       当然,绝对不是虚幻3 那样的引擎了。实际上做一个游戏的同时基本上也就是做一个引擎了,只要你的程序具有某种通用性。我现在最想知道的就是在进行游戏编程的时候,如果对角色和物体的位置进行调节?比如说有一栋三层建筑,如何把一个敌人准确地放置到2楼上?又如果正在做一个迷宫的关卡的话,如何让敌人在某些角落里出现?

       用纯粹的数字坐标去指定的话显然不靠谱,因为要修改起来太麻烦了;最好就是有一个可视化的界面,能够让你用一种面对面的方式对载入的模型进行仿射变换(平移、旋转和放缩),就像Blender 等建模软件的界面那样;或者,像孢子冒险编辑器那样的给力的东东。

       我如果能够做出来这样的一个东西就好了!我先是看了会《Game Engine Architecture》这本书。好吧,我承认我被这本书的第一章给打败了——尼玛太复杂了啊!看来我能够实现上面的那个小小的愿望就十分了得了!

       不过一口气吃个胖子肯定是不行的。我得先了解一些游戏引擎才行啊!其实前面提到的孢子冒险编辑器也是一个游戏引擎了,不过它的限制条件太多。我根据书上的介绍,找到了两个候选的:ORGE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值