Lua游戏脚本开发1 -- 初始化Lua
2010-06-25 17:17
260 查看
我最近学习游戏脚本编程。接触到的第一个脚本编程语言就是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;
}
OK,就这么简单。下次我再告诉大家如何使用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;
}
OK,就这么简单。下次我再告诉大家如何使用Lua的一些基本功能。谢谢!
相关文章推荐
- 【iOS-cocos2d-X 游戏开发之八】使用Lua脚本进行游戏开发(基础篇) 推荐
- 使用Lua脚本进行游戏开发(基础篇)
- cocos2dx-lua 在cocos2d中使用lua脚本进行开发,并介绍脚本在游戏中的详细用途
- lua脚本调用cocos2d-x 之实现精灵、Tmx地图创建【iOS游戏开发征文】
- Cocos2d-x-Lua 游戏中使用Lua脚本进行游戏开发
- 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
- 转载一个简单的lua展示【COCOS2DX-LUA 脚本开发之一】LUA语言基础在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
- 3D游戏精灵-兔子脚本 (lua语言开发,xfun平台)
- JAVA游戏编程之三----j2me 手机游戏入门开发--俄罗斯方块_5_使用LUA脚本写游戏
- 3D游戏精灵-蝴蝶脚本 (lua语言开发,xfun平台)
- 【COCOS2DX-LUA 脚本开发之一】LUA语言基础在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
- 在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)
- 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
- 3D游戏精灵-兔子脚本 (lua语言开发,xfun平台)最新版
- 【COCOS2DX-LUA 脚本开发之一】LUA语言基础在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途
- 网络游戏服务器开发:脚本系统的制作,linux下使用tolua制作Lua脚本系统(不需要PKG文件)
- 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
- 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
- paip.LUA脚本的开发调试总结..
- 在Unity中使用Lua脚本:语言层和游戏逻辑粘合层处理