LÖVE (Love2D) プログラミング:1.インストール

(2018.1.27. 公開)

1. Windows/Mac OS X

 LÖVE のホームページに「Download LÖVE」という表示があるので、ここからダウンロードする。

 ZIP 形式をダウンロードして、好きなところに展開しておく。Mac の場合は /Applications に入れておくと、使う時に探し回らなくて済む。

2. Raspberry Pi (Raspbian Jessie, Stretch)

(2018.2.4. Stretch 対応について追記)

(2018.2.12. Stretch に対応するため全面的に書き換え)

 インストール用のファイルをまとめたものを love2d-install.tar.gz として置いておきました。下のように進める。

$ curl -L http://d-alchemy.xyz/software/love/love2d-install.tgz >love2d-install.tgz
$ tar xvzf love2d-install.tgz
$ cd love2d-install
$ sh install.sh
$ cd ..

 apt-get でもインストールできるようだが、たぶん GUI (X Window) 上で動くバージョンになる(未確認)。上でインストールするものは、X Window を使わない設定でビルドしてあるので、はるかに動作が軽い。Raspberry Pi A+ や Zero でも十分使える。

 自分でビルドするためのスクリプトも作成しました:love2d-build.sh。バージョン番号を書き換えれば、別のバージョンもビルドできる。ただし、古いバージョンだとあちこちで引っかかるので、0.10 より古いものはやめた方がいいかも。

$ curl -L http://d-alchemy.xyz/software/love/love2d-build.sh >love2d-build.sh
$ sh love2d-build.sh update  #  必要なパッケージをインストール(時間かかる)
$ sh love2d-build.sh build   #  ビルドする。Pi3 で約30分。

3. 動作チェック

 動作チェックのために、単体で立ち上げてみる。Windows, Mac はアプリケーションをダブルクリックする。

 Raspberry Pi では下のように打ち込む。

$ /usr/local/games/love/run_love.sh

 ちょっと煩雑なので、~/.bash_profile に次の内容を書いておく。(nano ~/.bash_profile と打ち込んで、下の内容を追加記入し、ctrl-X → Yes で終了すればよい。)

alias love=/usr/local/games/love/run_love.sh

 これを設定しておけば、次にログインした時からは love と打つだけで LÖVE を起動できる。

2018.2.4. 追記:最初は /usr/local/games/love/bin/love を直接起動するように書いていたが、Raspbian Stretch では環境変数をセットしないといけないことがわかった。このため、run_love.sh というスクリプトから起動するように変更し、上記もそのように修正した。

 こういう画面が出てくれば成功。

 (2018.2.12. 追記) たぶん以下の問題点は解決できたと思います。

 なお、Raspberry Pi Jessie の場合、AL lib: (WW) alc_initconfig: Failed to initialize backend "pulse" というメッセージが出る。これはどうも抑制できないみたい(参考:LÖVE Forum: Love2d on a Raspberry Pi and Adafruit TFT2.8 screen)。

 (2018.2.4. 追記) また、Stretch の場合は、次のようなメッセージが出る。対策は検討中。

Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

 (2018.2.10. 追記) Stretch だと発音が著しく遅れる。また、A+/Zero だと "Illegal instruction" で落ちてしまう。ちょっと使い物にならない。LÖVE を使うなら、当面は Jessie にとどめておいた方が無難なようだ。

目次