どうすれば.L directlyVEゲームをluaインタープリターから直接実行できますか?


7

私はLOVEとLUAで始めたばかりです。LOVEに興味があります。私は私のデイジョブ(私はWeb開発者です)とは違うものをいじりたいからです。LUAを使用して解釈されるので、 APIを試すのに最適な方法です。

しかし、私は.LÖVEゲームをluaインタープリターから直接実行する方法を見つけることができませんでしたか?APIで少しテストをするたびにゲームをパッケージ化するのは面倒です。

回答:


8

LÖVEは、Luaにインポートするライブラリではありません。それが行うことは、Luaインタープリターを埋め込み、そのインタープリターにゲーム機能を公開することです。

APIをインタラクティブに再生したい場合は、デバッグとライブコーディング用にビルドされたいくつかのライブラリがあります。

出典:https : //love2d.org/forums/viewtopic.php?t=8537&p=52985

[EDIT] デバッグ機能はまた、限られた状況において有用であり得ます。

[編集]ラブコンソールライブラリは古いバージョンのLÖVEに基づいて作成されたようですが、少なくとも独自のプロンプトを作成するための開始点です。

特にLuaとゲーム中心のSDLベースのフレームワークでの作業を検討しているのではない場合、試してみるもう1つの楽しい方法はruby-processingです。これはJRubyをラップして、Processingライブラリへのアクセスをより便利にし、スケッチを監視してファイルを保存するたびに再コンパイルするモードを備えています。「ライブコーディング」モードもありますが、動作させることができていません。

[編集x 3] PyProcessingも見てください。これには、JRubyをバンドルする必要がないという利点があり、標準のPythonインタープリターにインポートできます(すべての依存関係モジュールがインストールされている場合、Pyglet(OS XではPyObjCが必要))。


3

Löve2Dで作成したゲームを実行するには、そのフォルダー(main.luaを含むフォルダー)をLove2D実行可能ファイルにドラッグする必要があります。それを実行する最も簡単な方法です。ゲームを実行可能ファイル自体にエクスポートする場合は、フォルダーをパッケージ化してLove2D実行可能ファイルに埋め込む必要があります。

.loveファイルを作成した場合も同様で、.loveファイルをLove2D実行可能ファイルにドラッグするだけです。ただし、main.luaがルートフォルダにあることを確認してください。ポータブルバージョンを実行する代わりにLove2Dをコンピューターにインストールした場合は、.loveファイルをダブルクリックするだけで再生できます。


2

それがluaインタープリターを介して実行されると見なされるかどうかはわかりませんが、パッケージ化せずに実行できるはずです。

ターミナルで、main.luaファイルがあるディレクトリに移動し、「love」と入力します。

私はそれをメモリから引き出していますが、これは私が最初に見つけた場所です:Love wiki


2

これは私がすばやく実行するために機能したものです。

1行だけのmain.luaファイルを作成しました

require('main2')

そのファイルをzipに入れて.love拡張子を付け、プロジェクトフォルダーのルートに配置しました。これで、テストする必要があるときはいつでもダブルクリックできます。

次に、main2.luaが実際のメインファイルです。実際のメインファイルを適切なモジュールにする必要さえありません。love.load()、love.update(dt)、およびlove.draw()関数を書き込むと、グローバル定義に書き込まれます。


1

特定のエディターと「結婚」していない場合は、ZeroBrane Studio IDEをお勧めします。これはオープンソースであり、Lua自体に(wxLuaを使用して)実装されており、非常に軽量ですが、非常に強力で便利です。

ZBSを使用すると、キーを1回押すだけでコードを再実行できるだけでなく、コードをデバッグしたり、Löveや他のいくつかのゲームフレームワークの「ライブコーディング」を実行したりすることもできます。

今から数週間使用していますが、心からお勧めできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.