Lua游戏引擎Love试用
2015-04-11 23:00
597 查看
今天使用Love引擎,测试了一下其基本的一些特性。
由于是底层封装了opengl的库进行图形显示,效率当然还是非常高的,而且lua本身的运行效率也很高,这个架构就特别时候游戏原型的开发,如何哪里运算速度跟不上时,再写成C的库供lua调用,就显得十分方便。
不过不爽的问题也很明显,这个游戏引擎的文档真的很烂,0.9版的文档不知为何删去了大半,好多都要看以前的博客才能知道大概的用法。
其实很简单,lua开发者当然给我们预留好了API接口,不过是C风格的,我不建议用C++的lua绑定,引擎lua本身就是C系列的,C++对lua来说太重了,反而麻烦,我比较喜欢将C++实现的功能,直接封装成C函数,供游戏调用就可以了。
当然,资源是我放到工程目录下
执行方式:
在工程目录下输入
效果如下:
由于是底层封装了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 .即可,也可以参考官网上的打包方法
效果如下:
相关文章推荐
- Ubuntu 16.04安装Lua游戏引擎Love
- Ubuntu14.04 lua游戏引擎Love安装
- 游戏引擎加入lua
- lua 2d游戏引擎love2d安装和介绍
- Cocos2d-x Lua引擎制作的游戏代码加密
- 一个容易上手的2D游戏引擎love2d (lua)
- 基于C++和Lua的移动游戏引擎Leadwerks 3发布
- 开源跨平台2D游戏引擎Love2D介绍
- cocos2dx-Lua引擎游戏脚本及图片资源解密与DUMP
- Lua2D游戏脚本引擎(渲染OpenGL) (源码放出)
- 试用html5 canvas编写游戏引擎
- Cocos2d-x Lua引擎制作的游戏代码加密
- love 引擎源码开源 适合想学lua 的朋友参考
- iOS下集成Lua与socket,cjson第三方库(非游戏引擎下)
- 一个简单的基于OpenGL的Lua的游戏引擎的实例
- 基于C++和Lua的移动游戏引擎Leadwerks 3发布
- 8个优秀的Android开源游戏引擎
- Android游戏引擎libgdx使用教程14:TiledMap中视角完善与障碍物处理
- 一个JS的RPG引擎,备忘,准备写个html5的动作游戏
- 【Cocos2D-X 游戏引擎】初窥门径(9)播放音乐/音效