现在的位置: 首页 > 综合 > 正文

游戏中的脚本语言介绍1

2018年05月27日 ⁄ 综合 ⁄ 共 833字 ⁄ 字号 评论关闭

1.什么是脚本语言

首先,脚本语言和其它程序设计语言一样,拥有自己的语法规范,循环流程控制和函数等。其次,脚本语言是一种嵌入型的语言,一般不单独执行,需要嵌入到宿主语言中(例如lua嵌入到c++中)执行。再次,脚本语言都有一个通用的特点,作为一种ascii码文本在虚拟机上动态解释执行,一般来讲脚本语言都有自动内存管理和垃圾回收功能。

脚本语言除了具有动态解释执行和自动内存管理之外,还有简单,易学易用的特点。脚本语言一般都是一种胶水性的语言,能够快速的整合宿主语言的组件和模块,因此脚本语言比较适合做批处理和控制的工作。

 

2.为什么要使用脚本语言

脚本语言拥有上述的动态执行,易整合宿主语言的组件和模块,使用脚本语言可以

a.缩短程序编译的时间

b.在需求的变更的情况下,可以更快速的重组宿主语言的组件

c.可以在脚本中扩展宿主语言逻辑功能

d.在脚本语言中控制和改变宿主语言的逻辑执行流程

脚本语言的以上几个特点快速原型开发成为可能,而为一个游戏建立一种快速的原型有助于在开发前期测试游戏中的各种问题,并试验多种制作方法。

 

3.选择脚本时所考虑的特性

a.脚本的语言特性和编码的易用性

b.与宿主语言整合性

c.运行效率

d.对调试的支持

 

4.lua脚本语言

lua是一种简单,易用,并且强大的表达能力语言。在lua中,所有的数据结构都可以用表来描述。具体的语法细节就不在详述。lua最大的特点是与c或c++的交互,所有的参数传递都是通过虚拟的栈来完成。而且每一个函数都有自己独立的栈,在lua中调用一个C或C++的函数时,就意思着调用了一个lua函数,并且建立一个新的交换栈,这个栈的信息保存于lua_state中。能与lua绑定的C++函数必须遵守特定的型构,即接收一个lua_state*作为参数,并返回一个int的值(int bnd_Create(Lua_state* L)),lua_state结构中保存了栈的信息,而返回值代表C++函数返回给lua的结果的个数。

 

未完待续。。。。

抱歉!评论已关闭.