码迷,mamicode.com
首页 > 其他好文 > 详细

Lua游戏引擎Love试用

时间:2015-04-12 00:08:16      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:love   游戏引擎   lua   原型开发   游戏   

今天使用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 .即可,也可以参考官网上的打包方法

效果如下:
技术分享

Lua游戏引擎Love试用

标签:love   游戏引擎   lua   原型开发   游戏   

原文地址:http://blog.csdn.net/xfxyy_sxfancy/article/details/45000439

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!