开源跨平台2D游戏引擎Love2D介绍

  声明:   本博客文章原创类别的均为个人原创,版权所有。转载请注明出处: http://blog.csdn.net/ml3947,另外本人的个人博客: http://www.wjfxgame.com


 Love2D是一个开源的, 跨平台的2D游戏引擎。使用纯Lua脚本来进行游戏开发。目前支持的平台有WindowsMac OSLinux。另外在社区里,还有Love2D-android版本,而且也有进军IOS的计划。

  这个游戏引擎在国内听说或者是使用的人可能不是很多,但是在国外还是有很大一部分的使用人群的。

  官方网站为: http://www.love2d.org/

  目前的最新版本为 0.8.0。

  

  我们从官网下载Windows平台的,然后解压缩。

  


  我们可以看到如下几个文件。

  双击love.exe。

  


  额,这个。可以当成是默认画面吧。

  有的人看到这里,就会觉得摸不着头脑。不知道该如何进行开发或者运行。


  其实很简单,我们新建一个文件夹:FirstGame。然后在文件夹里新建一个lua脚本:main.lua。 注意:这里一定要是main.lua。因为Love2D引擎默认开始执行的脚本就是main.lua

  我们来写一个Hello World。

  

function love.draw()
    love.graphics.print("Hello World", 300, 300)
end

  这就是一个简单的HelloWorld脚本。love.graphics.print是绘制文本的函数。我们在(300,300)坐标绘制了一个"Hello World"字符串。


  然后我们把FirstGame文件夹,拖到Love.exe上。就可以看到执行后的效果了。

  

  是不是很简单?

  当然,用脚本语言的优点就是不用重复编译,可以节省大量的时间。不过也有缺点,由于Love2D没有官方的IDE,所以我们不可能有代码提示的。(- - !)


  下面我们来看看Love2D的SDK的结构。

  

  我们可以看到这些都是Love2D里Lua的模块Module。模块的功能都可以从名字看到,有音频,事件,文件系统,字体,图形绘制,操纵杆,键盘鼠标事件,物理部分等。还有封装的线程等功能。

  大家可以看到,虽然是用的Lua语言,但是模块的功能还是很强大的。对于开发2D游戏来说,是绰绰有余了。


  Love2D里有一些默认的函数来执行。

  love.draw 每一帧绘制都会执行。

  love.focus 当窗口获取焦点或者失去焦点时执行。

  love.joystickpressed 当操作杆按下按键时执行。

  love.joystickreleased 当操作杆松开按键时执行。

  love.keypressed / love.keyreleased 当键盘按下按键和松开按键时执行。

  love.mousepressed / love.mousereleased 当鼠标按下按键和松开按键时执行。

  love.load  这个函数在每次开始游戏的时候执行一次。

  love.quit  在游戏关闭时执行。

  love.run 最主要的函数,包含了游戏的主循环。

  love.update 每一帧执行,用来更新游戏状态。


  下面我们来看看一个简单的例子,就是在屏幕绘制一个图片。

 

function love.load()
   person= love.graphics.newImage("preson.png")
   x = 50
   y = 50
end
function love.draw()
   love.graphics.draw(person, x, y)
end

  上面就是对Love2D里Lua模块的一个简单介绍。


  下面我们来看看,如何把Love2D的Lua脚本打包为可执行程序。

  首先下载下面的工具: https://code.google.com/p/love-dist/downloads/list 。

  这是一个资源打包工具,可以把你写的Lua脚本和资源打包为.love文件。


  下载下来并解压。

  


  然后把刚刚的FirstGame的文件夹放到这个的同级目录。并新建一个build.bat文件。

  写入内容 lovedist FirstGame FirstGame

  


  可以看到如上的画面,然后再目录里,我们发现多了一个FirstGame.love文件。


  然后把FirstGame.love文件放到love.exe文件同目录。

  新建一个build.bat文件,并写入内容: copy /b love.exe+FirstGame.love FirstGame.exe

  双击执行。


  


  我们可以看到,多了一个FirstGame.exe。

  双击执行,就是我们刚刚的Hello World程序了。


  最终我们的程序目录应该包含以下文件:

  SDL.dll ,OpenAL32.dll ,DevIL.dll ,FirstGame.exe ,license.txt

  

  注意,发布的任何游戏要附带license.txt。因为Love2D是LGPL开源协议的,并且还用到了其他的LGPL开源协议的库。


  这样我们就可以用Love2D开发并发布自己的游戏了。


  转载请注明出处:http://blog.csdn.net/ml3947


  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值