您的位置:首页 > 编程语言 > Lua

Lua游戏引擎Love试用

2015-04-11 23:00 597 查看
今天使用Love引擎,测试了一下其基本的一些特性。

由于是底层封装了opengl的库进行图形显示,效率当然还是非常高的,而且lua本身的运行效率也很高,这个架构就特别时候游戏原型的开发,如何哪里运算速度跟不上时,再写成C的库供lua调用,就显得十分方便。

不过不爽的问题也很明显,这个游戏引擎的文档真的很烂,0.9版的文档不知为何删去了大半,好多都要看以前的博客才能知道大概的用法。

lua和C的交互

先提一些基本的问题,例如Lua如何和C++交互。这里有篇不错的博客写了这个问题。【Lua脚本在C++下的舞步】

其实很简单,lua开发者当然给我们预留好了API接口,不过是C风格的,我不建议用C++的lua绑定,引擎lua本身就是C系列的,C++对lua来说太重了,反而麻烦,我比较喜欢将C++实现的功能,直接封装成C函数,供游戏调用就可以了。

简单例子

好的,我们先举一个最简单的例子来展示一下这个引擎,加载一张图片到指定位置,新建一个空文件夹作为工程路径,下面创建一个
main.lua
文件,注意这个文件名不能改,love引擎说他就是根据这个名字来找入口脚本的。

-- main.lua

-- Load some default values for our rectangle.
function love.load()
x, y, w, h = 10, 10, 20, 10;
buaa_logo = love.graphics.newImage("res/image/buaa.jpg")
end

-- Increase the size of the rectangle every frame.
function love.update(dt)
w = w + 0.2;
h = h + 0.2;
end

-- Draw a coloured rectangle.
function love.draw()
love.graphics.draw(buaa_logo, x, y)
-- love.graphics.rectangle('fill', x, y, w, h);
end


当然,资源是我放到工程目录下
res/image
下的,love引擎会重写资源路径到当前目录下。

执行方式:

在工程目录下输入
love .
即可,也可以参考官网上的打包方法

效果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息