资源描述:
《脚本在游戏开发中的应用 --基于Lua的分析-毕业论文.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、厦门大学学士学位论文本科毕业论文(科研训练、毕业设计)题目:脚本在游戏开发中的应用--基于Lua的分析姓名:学院:软件学院系:软件工程系专业:软件工程专业年级:学号:指导教师(校内):职称:指导教师(校外):职称:年月5脚本在游戏开发中的应用--基于Lua的分析【摘要】在近几年来,进入到游戏中的脚本语言在很大程度上为那些制作游戏的人和玩游戏的人提供了好处。例如程序员可以利用脚本语言来实现引擎特征,或者为游戏构建一个版本Debug,或者在一台并没有安装开发工具和源代码的计算机上对游戏进行Debug。脚本语言还可以帮助程序员很快地开发
2、出一些功能,比如AI系统的有限状态机,或者任务管理系统等。脚本语言的语句结构比C++要简单的多,这种简单性允许游戏设计师不用等程序人员花费时间编写C++功能和重建游戏应用程序就可以自己实现一些游戏玩法特点。现在几乎全世界每一个角落都有玩家在用脚本语言来编写他们最喜欢的游戏的MOD。今天,脚本语言和游戏引擎一样,已经很普及了。那种要想提供脚本支持只能从头专门建立一个脚本语言系统的时代已经一去不复返了。现在的状况是,开发者可以根据他们在高性能、高兼容性、多线程、网络化,简单化的需要,从多种高产品质量,现成的脚本系统中挑选一种来使用。对
3、于众多的脚本系统,怎样才能选出最适合自己的脚本系统,怎样防止兼容性风险的同时又能最大的发掘系统的特点?本论文从选择脚本开始,到与C++对象的绑定,以及一些高级的控制,最后结合一个应用实例,提供一些技巧来解决这些问题。关键字:脚本Lua对象绑定高级控制角色属性5ApplyingwithscriptingamedevelopingAnalysingbasedonLua【Abstract】Overthepastseveralyears,Scriptsingamesmostlybenefitforpeopleofmakinggamesan
4、dplayinggames.Forexample,programmercouldimplementtheenginecharacterbyusingScripts,orbuildaDebugedition,alsodoDebuggingofthegameonacomputerwhichdon’tinstalldeveloptoolsandhasnotsourcecodes.Scriptlanguagescouldhelpprogrammertorapidlydevelopsomefunctionalityparttoo,egthe
5、finitudeofstatesAIsystem,thetaskmanagesystemandsoon.Scriptlanguage’sprogrammingstructureismoresimplethanC++’s,dependingonthesimplegamesdesignercanimplementsomespecialgameplayingstylebythemselveswithoutprogrammerspendingseveraltimetoeditC++codesandrebuildtheGame.exe.Re
6、cently,theplayersalmostaroundtheworldProgramtheirfavoriteMODwithscripts.Now,thescriptlanguageiscommonasthesamewiththeGameEngine.Thetimethatpeopleneedingthesupportofscriptsmustbuildthescriptsystemfromthebottomhasgoneforever.Whatisthecasenow,developmentteamcanchoosetheb
7、estonefromtheexistinggoodscriptlanguagesthatfitstheneedsofthehighperformance,thegoodcompatible,multi-threadenvironment,theNetting,andthesimple.Facingthemanyscriptlanguages,HowtofindaBetteroneforself?Howtoavoideithertheriskfortheproblemofcompatibleordigtheadvantagesoft
8、hesystemout?Thisarticlebeginswithhowtochooseascriptsystem,thentalksaboutbindingobjecttoc++,andthensomehighcontrollinginprogr