love2d教程-第一章:安装

Dahuang published on
7 min, 1203 words

Categories: 游戏开发

Tags: LOVE2D

安装LÖVE

Linux
openSUSE Leap/Tumbleweed

openSUSE的官方源里提供了love2d,而且版本也是比较新的,所以直接安装就好了。

$ sudo zypper install love
Mageia

和openSUSE一样,你可以直接从官方源里获取安装。

$ sudo urpmi love
其他发行版

love2d提供了官方的appimage,直接在官网上下载就好了。你也可以看看你的发行版有没有在官方源里提供love,或者自己编译安装。

FreeBSD

你可以使用pkg命令直接安装love,或者使用port编译。

# pkg install love
Windows

访问love2d.org。根据你的系统类型选择64-bit installer或是32-bit installer。如果你实在不知道应该选哪个,就选32位的。(译注:除非你的电脑真的很古董,大部分情况下你都应该选择64位的版本。原作者建议选择32位是因为64位处理器通常兼容32位程序。但是我建议你先下载64位的试试看,如果你的系统是32位的,它会报错,这时你再换32位)

下载love2d

双击运行你下载的安装包。点Next,然后I agree。现在你可以选择love2d的安装位置,建议保持默认。这不重要,但是鉴于我们等下会用到它,所以请记住这个位置。你安装love2d的文件夹会被叫做安装文件夹。我的安装文件夹是C:/Program Files/LOVE。点Next,I agree。安装会很快完成,完成后点击Finish。


安装ZeroBrane Studio

现在我们来安装一个文本编辑器。在这个教程中我们将使用ZeroBrane Studio。

Linux
openSUSE Leap/Tumbleweed
$ sudo zypper install zerobranestudio
其他发行版

zerobrane studio官方提供了一个shell archive,你可以从这里下载。具体的安装过程参见这里

Windows

访问zerobrane studio官网的下载页面,然后选择windows安装包下载并运行。

安装完成后,打开zerobrane studio。


写一个"Hello World!"吧!

首先需要创建一个项目文件夹。在你喜欢的地方创建一个文件夹并且起一个你喜欢的名字。(不要起中文名字,而且整个路径都要避免中文,否则容易出问题。)然后在ZeroBrane Studio里点击”Select Project Folder”按钮,然后选择你刚刚创建的那个文件夹。

在ZeroBrane Studio里新建一个文件。File -> New,或者使用快捷键Ctrl + N。 然后在这个文件里,输入如下代码:

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

保存文件, File -> Save 或者使用快捷键 Ctrl + S ,把这个文件命名为main.lua。

然后在菜单栏中找到 Project -> Lua Interpreter,然后选择LÖVE。

现在按下F6,应该会出现一个窗口,显示“Hello World!”。恭喜你!这是你的第一个love2d程序。现在你已经准备好学习love2d了。当我说运行游戏或者运行代码,按下F6来运行love2d。

什么也没有发生?你应该是把love2d安装到了一个你制定的位置而不是默认位置。找到 Edit -> Preferrences -> Settings: User ,然后在用户配置文件中输入:

path.love2d = 'C:/path/to/love.exe'

记得把 C:/path/to/love.exe 换成你安装love的位置。确保你使用了正斜杠(/)(而不是windows的反斜杠\)。


还有一些事情

你是不是复制粘贴了样例代码?我建议你最好自己输入。这样虽然麻烦,但是有利于你学得更好。

代码中的注释不需要你自己输入。

-- 这是一行注释。这不是代码。
-- 下一行才是代码:

print(123)

--输出:123

在lua中(love2d使用的编程语言是lua),用两个减号(–)开头的一行是注释。计算机在执行程序时会忽略注释,这意味这我们可以在里面输入任何东西而不会发生错误。注释可以提高代码的可读性。

通过print(),我们可以将括号里的信息发送到输出控制台。输出控制台是编辑器下面的那个框。当你关闭你的游戏时,输出控制台应该会显示123。不要把print()和love.graphics.print()混淆了。

如果你把下面的代码放在main.lua的顶部,你就可以立即看到要输出的内容。你不需要了解这其中的原理是什么。

io.stdout:setvbuf("no")

其他文本编辑器/IDE

如果你不想使用ZeroBrane Studio(其实这因该是一个IDE),你也可以使用其他的文本编辑器。 (尽管理论上用windows自带的那个记事本也是可行的,但是你真的要用那东西写代码吗!?)