10大优享服务
62项会员特权

Python游戏脚本开发 嵌入式Python脚本使用方法

发布时间:2021-12-01 02:38:54     阅读次数:14141次     评论数:0次
     Python是一门功能强大的高级脚本语言,它的强大不仅表现在其自身的功能上,而且还表现在其良好的可扩展性上,正因如此,Python已经开始受到越来越多人的青睐,并且被屡屡成功地应用于各类大型软件系统的开发过程中。   
    在早期的一些游戏中,大部分的游戏逻辑都直接写入游戏代码,例如计算公式、游戏流程等。但随着游戏产业的不断发展,游戏脚本制作本身也变得越来越复杂,游戏企划需要更多的时间来对游戏进行调整,如果游戏逻辑还写在代码中,则企划对游戏的每次修改都要通过程序进行,而且还需要重新编译以及重启程序,这样工作效率就大大降低了。
Python游戏脚本开发
    在游戏中使用Python脚本,就正好能解决上述问题,小到一些计算公式,大到游戏的控制流程都可以通过Python脚本完成,而且目前的脚本系统大多是解释执行的,因此都可以支持运行时动态修改,这样一来可以立即看到修改结果,非常方便。
    如何使用脚本
    脚本主要有两种方式。一种方式是主程序使用一门高级语言,比如C++进行编写,然后对其嵌入一个脚本解释器,在运行时动态执行一些脚本函数;另一种方式则是整个程序全部使用脚本编写,例如一些泥巴游戏就是直接用LPC脚本制作编写的。
    现在主要研究嵌入式Python脚本使用方法,因为目前大部分的脚本都不能提供如VC++那样方便的调试环境,如果程序全部用脚本编写,当脚本多达几万行甚至十几万行的时候,调试会成为一件非常痛苦的事。而且嵌入式使用时可以将一些非常耗时的代码用C++编写,以保持较好的运行效率。
序从C++的main( )函数开始启动,然后进入主循环,在一些C++函数中会直接调用脚本函数,在脚本函数的运行过程中,又可能调用C++的扩展函数。C++扩展函数的主要功能有两个:一是用来增加Python脚本制作无法直接编写的功能,二是用来替换脚本中运行速度过慢的函数。
    上述过程的关键点就在于C++和脚本如何相互调用函数,以及如何传递参数与结果。一般的解决方法是在程序启动时利用脚本的API向脚本注册C++的扩展函数,将函数指针传递给脚本系统以便将来调用,调用脚本函数则使用脚本系统的API将调用参数压进栈,取得运行结果也要通过API进行。
    借助Python语言提供的API,使用C或者C++来对Python进行功能性扩展,从而即可以利用 Python方便灵活的语法和功能,又可以获得与C或者C++几乎相同的执行性能。执行速度慢是几乎所有脚本语言都具有的共性,也是倍受人们指责的一个重 要因素,Python则通过与C语言的有机结合巧妙地解决了这一问题,从而使脚本语言的应用范围得到了很大扩展。
(一品威客 anyi)
本文地址:
来源:一品威客,转载须经版权人书面授权并注明来源

留言(0

↓展开留言

该攻略尚无留言记录