LÖVE2d はゲームエンジンです。
https://love2d.org/
As you probably know by now, LÖVE is a framework for making 2D games in the Lua programming language. LÖVE is totally free, and can be used in anything from friendly open-source hobby projects, to evil, closed-source commercial ones.
Lua言語が使えます。他のいくつかの言語でも非公式ですが使えるようです。
Fennel
Fennel is a programming language that brings together the speed, simplicity, and reach of Lua with the flexibility of a lisp syntax and macro system.
https://fennel-lang.org/
Hello World!
に至るまでは、ここに参考となるチュートリアルがあります。
この記事の内容は Android OS の環境(つまりタブレット)で google play store からインストールするアプリの LÖVE2d を使って GUI 上でHello World!
するまで、です。
Termux を使います。( Termux でなくてもアプリでテキストエディターがあれば可能です。)
Hellow World!
のためのプログラムの配置は、このようになっています。
LÖVE2d では、main.lua
というファイルに love.
から始まるカスタムメソッドにプロパティを渡すプログラムコードがかかれていることが必要とされます。
main.lua
のなかに、これだけを書きました。
function love.draw()
love.graphics.print('Hello World!',400,300)
end
gametest というフォルダ(ディレクトリ)のなかにあります。
u0_a185@localhost ~/gametest> tree ./
./
└── main.lua
0 directories, 1 file
このmain.lua
を LÖVE2d のアプリで開けばいいわけですが、.love
というファイルにして LÖVE2d で開くことで main.lua
が読み込まれます。
.love
とは zip 圧縮されたフォルダなのですが、LÖVE2d で読み込むには、そのフォルダの一階層目(ゼロ階層というべきか)にmain.lua
がなくてはいけないということになっています。
つまり、hello.love
というアーカイブファイルを展開したら、ぽろっと main.lua
というファイルが出てくる構造になっていないといけないということです。
展開したときに hello
というフォルダに main.lua
が入っているという構造ではエラーになります。
ここで、..
で一階層上がって、
u0_a185@localhost ~/zip -r gametest.zip gametest/
u0_a185@localhost ~/mv gametest.zip hello.love
とすると、この場合、hello.love
のディレクトリ直下はフォルダになってしまいます。
フォルダを含めないで zip する方法としては、
u0_a185@localhost ~/gametest> zip hello.love main.lua
とするか、または、
u0_a185@localhost ~/gametest> zip -r -D hello.love *
とすると、hello.love
の直下はmain.lua
になり、必要の無いフォルダが含まれず LÖVE2d でhello.love
を開いてもエラーになりません。
つまり、シェルコマンドで zip アーカイブするときにフォルダのなかにファイルを詰めるのではない方法ということになります。
この場合は、main.lua などがフォルダのなかにはない状態を実現することを説明しました。
他の画像や音声等のゲーム素材に使うものはフォルダに入った状態でアーカイブされていてもよいです。
Rf. https://sheepolution.com/learn/book/12
You can also put your image in a subdirectory, but in that case make sure to include the whole path.
myImage = love.graphics.newImage("path/to/sheep.png")
以上。
https://unix.stackexchange.com/questions/182032/zip-the-contents-of-a-folder-without-including-the-folder-itself