1 初窥Lua

1、为什么使用Lua?

这个问题很多大牛前辈都回答过它的用处,现实游戏开发情况也可以证明它的广泛使用。知乎上Lua 为什么在游戏编程领域被广泛运用,开源社区《为什么我选择 Lua ?》等等,都充分肯定了Lua的强大及其前景,免费小巧快速易移植,更重要的是其易扩展性使得Lua非常适合开发游戏,大话西游2、 魔兽世界Wow插件、剑侠情缘3等等都是用Lua语言。不过不用担心,强大的Lua却是比较容易学习上手,可深入讲的东西并不多,市面专门讲Lua的中文书籍也很少。《Program in Lua》、译本《Lua游戏开发实践指南》等都是很经典的书。


2、游戏项目中的Lua(此处摘自《Lua游戏开发实践指南》)

·编辑游戏的用户界面

·定义、存储和管理基础游戏数据

·管理实时游戏事件

·创建和维护开发者友好的游戏存储和载入系统

·编写游戏的人工智能系统

·创建功能原型,可以之后用高性能语言移植


3、Lua环境搭建

Lua几乎可以在所有操作系统和平台上都可以编译,运行,Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。Lua内核小于120KB,当编译和集成到游戏开发系统中时非常小巧。
下面简单地介绍一下Lua环境的搭建:
    ①linux环境下:
    首先到Lua官方网站http://www.lua.org/download.html下载最新的Lua源代码,目前最新的是lua-5.2.3,得到的是一个.tar.gz。
    其次,使用tar -xzvf /path-to-your-lua-tar-file-folder/lua-5.2.3.tar.gz命令解压缩,将得到一个lua-5.2.3文件夹。
    之后,使用cd /path-to-your-lua-tar-file-folder/lua-5.2.3将当前工作目录切换到lua-5.2.3文件夹中。运行make命令,你将看到如下提示:
    Please do
    make PLATFORM
    where PLATFORM is one of these:
    aix ansi bsd freebsd generic linux macosx mingw posix solaris
    See INSTALL for complete instructions.
    如果你的系统平台名称是否在支持的列表中,如果存在则继续运行make PLATFORM命令,否则选择运行make linux命令,一般情况下编译都是成功的。最后,运行make install命令。至此,lua语言环境已经顺利安装完成,在终端下输入lua命令即可进入!之后可以下载一个Lua编辑器(LuaEdit)。
    
    ②Windows环境下:
    下载LFW(Lua for Windows)版的,地址:(https://code.google.com/p/luaforwindows/),lua for windows其实是一整套Lua的开发环境,它包括:
        Lua Interpreter(Lua解释器)
        Lua Reference Manual(Lua参考手册)
        Quick Lua Tour (Lua快速入门)
        Examples (Lua范例)
        Libraries with documentation (一些Lua库和文档)
        SciTE (一个很棒的多用途编辑器,已经对Lua做了特殊设置)
    它整合了在windows学习和开发Lua所需要的所有东西,非常适合新手,附带的SciTE只要经过简单配置就能够很方便的编写Lua程序,编译,运行,调试。
    如果需要结合VC++6.0来使用,这里又有两种方法:
    1)这种比较方便,利用之前下载的FLW,在VC6.0的菜单里找到【工具】-【选项】-【目录】选项卡,然后把对应的 .h 文件和 .lib 文件给添加进去,路径就是下载FLW的安装路径下的include和lib文件夹,这样就行了。可以使用SciTE新建一个lua文件,在VC++里面打开加载,或者调用其某个函数。如下代码:
#include<stdio.h>
#include<process.h>
 
extern "C" {
#include "lua.h"
#include <lauxlib.h>
#include <lualib.h>
}
 
#pragma comment(lib,"lua5.1.lib")
 
int main (void)
{
     // 打开 Lua
    lua_State *L = lua_open();
    // 加载 .lib 文件
    luaL_openlibs(L);
 
    // 加载脚本文件,需要放在程序目录
    luaL_dofile( L, "test.lua" );
    lua_resume( L, 0 );
 
    // 调用结束
    lua_close(L);
 
    system("pause");
    return 0;
}
     2)如果不想下载FLW,就需要自己编译Lua库和配置开发环境。下载最新的Lua源代码,得到一个.tar.gz,用压缩软件来解开。解开的目录中有一个src目录,整个Lua核心代码就在这里了。VC++6.0来生成lib文件,在VC6中新建一个Win32 StaticLibrary静态库工程,工程名称比如设置为mylua,工程路径指向Lua的src目录,在随后的工程设置向导中,不用加入任何设置,即,不要勾选“预编译的头文件”和“MFC支持”选项。
    接下来,将所有src中的所有.c (lua.c除外)和.h 文件加入到工程中,编译,就可以得到我们想要的静态库mylua.lib 文件了。自己创建新项目时,只需要加入mylua.lib和几个头文件就可以开发了,网上大神推荐,把这些文件整理一下,放到合适的位置较好。先是建立include目录,然后在include目录下建立lua目录,将下列文件复制到lua目录下:
    lauxlib.h
    lua.h
    luaconf.h
    lualib.h
建立和include目录同级的lib目录,将编译好的 liblua.lib 放到这里即可。
    可以使用记事本或Sublime Text创建lua文件,在VC++里面打开加载,或者调用其某个函数,同上。我们也可以用这个方法自己写个Lua控制台。共享代码如下:http://download.csdn.net/detail/hejiero/6900023
    

1 初窥Lua

上一篇:EBS OAF开发中日志(Logging)


下一篇:如何将常用装机必备的软件一次性装完