游戏引擎设计

游戏引擎设计

计算机时代2006年第8期

44

游戏引擎设计

(江苏信息职业技术学院计算机工程系,江苏无锡214000)

要:介绍了游戏引擎的开发工具、开发技术以及游戏制作过程。

(Engine);DirectX;透明混合算法;多任务处理关键词:GameRole;框选法;列举法;反射法;映射法;引擎

0引言

游戏作为最流行的娱乐工具,已经在社会上获得广大爱好者的认可。中国作为世界上最大的游戏市场,每年的游戏产业已经达到几百亿的规模。但是国产游戏却占有极少的市场份额,很大部分是从国外引进的。当然这和中国的游戏产业的发展历史是有关系的。本文将对GAME引擎(游戏软件的重要组成部分,也是最关键的部分)的开发技术进行介绍。

它也需要遍历所有可见对象,但是由于缺少包围盒机制,只能检测对象位于鼠标下的那个位置是否有有效像素,或者有效的alpha值。一般先使用方法1减少遍历对象的数量之后,再使用这个方法达到精确的选取。

⑶反射法此种方法相对有效和快捷,尤其是在3D游戏

中,有无可比拟的优越性。反馈法的实现很简单:首先要维护一个后台缓冲区,当绘制目标对象的时候,同时将对象的可见信息(一般是对象图片的Alpha值,或者Z值)写入后台缓冲,然后检测鼠标对应的缓冲区的位置的值是否有变化,如果变化了,表明刚才绘制的对象可以被鼠标选中。当缓冲使用了Z运算的时候,在绘制完成之后,就可以得到一个鼠标可以选取的对象列表,只要根据一定的原则从列表中提取需要的对象。这个机制在2D下,一般不维护额外的缓冲区而直接使用绘图缓冲区。3D下,像OpenGL提供了内置的反馈方法,更方便了用户的使用。实际也可以利用Zbuffer、模板缓冲等实现类似的机制。这种方法可以实现精确到像素级的选取,而几乎不影响运行效率。缺点是需要对绘制部分的代码有很高的控制权限。

可以达到O⑴的时间⑷映射法是效率最高的一种算法,

1角色对象的选取

鼠标是游戏控制中的重要工具,应该说是必不可少的。如何由鼠标的位置判定其下的对象是什么,是游戏开发过程中必须解决的问题。下面讨论几种常用方法。

通⑴框选法对游戏中的每个对象创建一个伴随的矩形框,过遍历所有可见对象,根据鼠标坐标点落在某个矩形框内来判定鼠标选取的对象。这种方法简单,算法容易理解,当使用矩形包围框,而对象数量又比较有限的时候,效率也是很好的。缺点是选取不够精确,无法对对象的细节做选取。

⑵列举法这是效率最低的方法之一。和矩形框法类似,

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

This.Object.GetData(REFls_RecvData)choosecasels_RecvData

case"reboot"//ole_2为vb开发的shutd.ocx控件ole_2.object.shut(3)//强制重启case"shutdown"

ole_2.object.shut(5)//强制关机case"logoff"

ole_2.object.shut(0)//注销case"lock"

open(w_pm)//锁屏case"unlock"close(w_pm)//解屏CASEELSE

messagebox("友情提示",ls_RecvData)endchoose

启、“logoff"”表示注销、“shutdown”表示关机、“lock”表示锁屏、“unlook”表示解屏等。客户端收到字符串后触发DataArrival事件,根据约定的字符串的意义,执行相应的功能,比如收到“lock”消息,客户端自动锁定屏幕,以此实现远程控制。

4结束语

根据上述思想和技术,我们利用PowerBuilder和VisualBasic设计开发了“ID卡机房智能管理系统”,大胆地整合了两种工具的开发特色,缩短了开发周期。通过一年的使用,系统运行稳定,计时收费准确无误,达到了机房管理自动化和无人值守的目的,提高了工作效率,节约了资源,大大减轻了机房管理人员的工作负担。

参考文献:

[1]胡声洲,刘建华.计算机房管理系统研究.赣南师范学院学报,

2002.6:72 ̄74

[2]李蓉蓉.基于IC卡的机房管理信息系统.龙岩学院学报,2005.23(3):

30 ̄32

[3]苗专生.基于Winsock的机房计费管理系统的设计与实现.荆门职

业技术学院学报,2005.20(3):22 ̄25

[4]马贵安等.PowerBuilderWin32API程序设计.清华大学出版社,

2004.

CE当在服务器端设置好客户端的IP地址,并绑定好客户端主机的端口号后,就与客户端建立了连接,服务器与客户端就随时可以通过SendData方法进行数据通信,完成对客户端的实时控制和监控。由于Winsock控件每次只能发送一个字符串,我们对发送的字符串进行了实际意义的确定,如“reboot”表示强制重

第1页下一页

相关知识

游戏引擎设计
网络游戏引擎设计与开发
RPG游戏引擎的设计原理
角色扮演游戏引擎的设计原理
基于Android的手机游戏引擎的设计与实现
Unity3D引擎打造冒险游戏的设计与实践
手机游戏引擎
手机游戏AI引擎设计
毕业论文——基于Unity3D引擎的RPG游戏的设计与开发(万字最终稿).doc
基于Unity引擎的2D角色扮演游戏的设计与实现

网址: 游戏引擎设计 http://www.hyxgl.com/newsview429764.html

推荐资讯