1

C(99)を使用して、LuaスクリプトからLuaテーブルをロードするゲームがあります。

技術的な面で問題はなく、すべて意図したとおりに機能します。ただし、Cコアは、いくつかの定数を使用してアイテムタイプなどを定義します。スクリプトは実際にロードされる武器データを提供し、明確にするために同じ定数の名前/値を使用する必要があります。定数は、Cでは、#defineITEM_TYPE_EDIBLE2などです。

だから、私の質問は:整数の長い(〜300定義)リストをCからLuaに簡単にエクスポートするにはどうすればよいですか?複数のスクリプトがそのリストを使用する必要があります。メモリ内のサイズは実際には問題ではありませんが、私は主に便利さを探しています。

私はこれらの可能な解決策を考えましたが、長期的にはどちらが良いかわかりません:

  • A)目的のスクリプトを処理するLua状態でネストされたテーブルを手動で作成します。
  • B)定数を含むluaスクリプトを手動で作成し、それらを使用してすべてのスクリプトにインポートします。

それで、これを行うための最も便利な方法は何だと思いますか?のように、更新してLua側で使用するのに便利なので、modを簡単に作成できます。アイテムの読み込みはすべて起動時に行われるため、超高速のアプローチであるかどうかは関係ありません(たとえば、アクションが遅れることはなく、起動時間だけです)

ああ、私はLua 5.1を使用していますが、タスクが簡単になる場合は5.2を使用することに反対していません。また、可能であればプログラムでリストを更新することにも反対しないでください。

4

2 に答える 2

0

すべての整数定数をsとして設定したCヘッダーを生成するスクリプトを作成しenumます。これらすべての定数のテーブルを追加するか、事前定義された数値変数としてグローバルスコープに個別に追加することにより、Luaの状態を変更する関数を持つ別のCファイル。

于 2012-07-23T12:29:42.153 に答える
0
  • A)目的のスクリプトを処理するLua状態でネストされたテーブルを手動で作成します。
  • B)定数を含むluaスクリプトを手動で作成し、それらを使用してすべてのスクリプトにインポートします。

あなたが忘れてしまった:

  • C)定数を含むLuaスクリプトを手動で作成し、lua_Stateを作成したら、すぐにインポートします。そうすれば、それらを使用するすべてのスクリプトは、それがインポートされたと見なすことができます。

実際、私は通常、このスクリプトを実行可能ファイル自体または実行可能ファイルによってロードされる特別なファイルのいずれかに配置します。

于 2012-07-23T16:22:51.717 に答える