Lua游戏脚本开发之初始化Lua

移动开发 iOS
Lua游戏脚本开发之初始化Lua是本文要介绍的内容,主要是来学习LUA的使用和LUA中关于游戏的开发,具体内容的实现来看本文详解。

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++程序中:

  1. extern "C"  
  2. {  
  3. include "lua.h"  
  4. include "lauxlib.h" // 必须包含这个头文件,否则无法调用lua_open()函数  

要使用Lua,首先要对它初始化。初始化一个Lua,个人的理解,其实就是初始化一个Lua使用的堆栈,主程序和游戏脚本通过这个堆栈互相通讯。我们只要在主程序的Main()函数中调用如下代码即可初始化一个Lua堆栈:

  1. int _tmain(int argc, _TCHAR* argv[])  
  2. {  
  3.  // 初始化一个Lua state并设置堆栈尺寸是1024  
  4.  lua_State* pLuaState = lua_open(1024);  
  5. return 0;  

使用完Lua后,应该调用如下代码释放掉Lua对象:

  1. lua_close(pLuaState); 

完整的程序如下:

  1. int _tmain(int argc, _TCHAR* argv[])  
  2. {  
  3.  // 初始化一个Lua state并设置堆栈尺寸是1024  
  4.  lua_State* pLuaState = lua_open(1024);  
  5. // ... 所有的程序逻辑代码在这里写  
  6. // 释放Lua state  
  7. lua_close(pLuaState);   
  8. return 0;  

小结:Lua游戏脚本开发之初始化Lua的内容介绍完了,希望通过本文的学习能对你有所帮助!

责任编辑:zhaolei 来源: 博客园
相关推荐

2011-08-25 10:40:21

Lua游戏

2011-08-24 13:56:12

Lua游戏

2011-08-24 13:32:17

2011-08-24 13:27:07

Lua 游戏C接口脚本

2011-08-24 14:22:13

LUA编辑器

2011-08-22 17:41:23

LUA 脚本 语言

2011-08-23 16:59:16

C++LUA脚本LUA API

2023-11-12 23:08:17

C++初始化

2011-07-06 14:16:25

Linux服务器Shell脚本

2011-09-06 17:45:14

LUA开发环境Decoda

2011-07-08 10:57:25

Lua

2011-08-29 09:49:35

LuaAndroid游戏

2021-01-12 06:42:50

Lua脚本语言编程语言

2011-08-23 18:00:00

lua 脚本测试C

2023-04-04 07:52:26

RedisLua脚本

2011-08-25 15:02:17

Lua环境搭建EditPlus

2011-09-01 17:46:22

MySQL ProxyLua脚本

2011-08-22 18:00:53

Lua语言

2011-06-22 14:07:42

Lua

2012-05-15 13:57:41

HTML5
点赞
收藏

51CTO技术栈公众号