Lua游戏脚本开发之初始化Lua是本文要介绍的内容,主要是来学习LUA的使用和LUA中关于游戏的开发,具体内容的实现来看本文详解。
我最近学习游戏脚本编程。接触到的第一个脚本编程语言就是Lua。我使用的Lua版本是5.1。
遗憾的是,我学习脚本编程的那本书中使用的版本是老版本的Lua,由于Lua在新版本中,对很多函数调用作了改变,我发现根据书中的介绍,很难成功地编译程序。经过自己的研究,终于可以正常地使用Lua提供的基本功能了。所以我把我的解决方法写出,和大家分享,希望对其他使用新版本Lua遇到麻烦的朋友有所帮助。
下载安装好Lua后,就可以使用了。我使用Visual Studio .NET 2003的C++编译器开发应用Lua脚本的Host应用程序。首先,我们要设置编译器,让它能够找到使用Lua必须的头文件和库文件。方法如下:
1、启动Visual Studio .NET 2003。
2、选择“工具”-〉“选项”菜单,打开“选项”对话框。
3、在右边的选项中,选择“项目”,然后选择其下的“VC++目录”。
4、在对话框右边的“显示以下内容的目录”下拉框中选择“包含文件”。然后添加Lua的包含目录,在我的电脑中目录是“C:/Program Files/Lua/5.1/Include”。
5、在对话框右边的“显示以下内容的目录”下拉框中选择“库文件”。然后添加Lua使用的库文件所在目录,我的是“C:/Program Files/Lua/5.1/Lib”。
6、点击“确定”,关闭对话框。
现在,编译器已经设置完毕。我们就以一个Console控制台程序来演示Lua的初始化:
1、创建一个C++控制台项目。
2、选择“项目”-〉“属性”菜单,打开项目的属性对话框,然后选择“连接器”下面的“命令行”选项,然后在右下角区域输入使用的库文件lua51.lib和lua5.1.lib。然后点击“确定”。
3、为了使用Lua中的函数,我们需要在程序的源代码文件中包含Lua的头文件——lua.h和lauxlib.h。因为Lua使用纯C代码编写,所以我们要用下面的方式来包含这两个头文件到我们的C++程序中:
- extern "C"
- {
- include "lua.h"
- include "lauxlib.h" // 必须包含这个头文件,否则无法调用lua_open()函数
- }
要使用Lua,首先要对它初始化。初始化一个Lua,个人的理解,其实就是初始化一个Lua使用的堆栈,主程序和游戏脚本通过这个堆栈互相通讯。我们只要在主程序的Main()函数中调用如下代码即可初始化一个Lua堆栈:
- int _tmain(int argc, _TCHAR* argv[])
- {
- // 初始化一个Lua state并设置堆栈尺寸是1024
- lua_State* pLuaState = lua_open(1024);
- return 0;
- }
使用完Lua后,应该调用如下代码释放掉Lua对象:
- lua_close(pLuaState);
完整的程序如下:
- int _tmain(int argc, _TCHAR* argv[])
- {
- // 初始化一个Lua state并设置堆栈尺寸是1024
- lua_State* pLuaState = lua_open(1024);
- // ... 所有的程序逻辑代码在这里写
- // 释放Lua state
- lua_close(pLuaState);
- return 0;
- }
小结:Lua游戏脚本开发之初始化Lua的内容介绍完了,希望通过本文的学习能对你有所帮助!