問題タブ [lua-c++-connection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - LuaとC++:職務の分離
C ++ / Luaゲームコードを整理する方法を分類し、それらの義務を分離するのを手伝ってください。最も便利な方法は何ですか、どれを使用しますか?
たとえば、Luaは、C ++オブジェクトの初期化のみ、またはゲームループの反復ごとに使用できます。ゲームロジックのみ、またはグラフィックスにも使用できます。一部のゲームエンジンは、スクリプトからすべてのサブシステムを完全に制御します。私はこのアプローチが本当に好きではありません(分離はまったくありません)。
すべてのゲームオブジェクト(npc、場所)をC ++オブジェクトなしのLuaテーブルとして実装するのは良い考えですか?または、それらをミラーリングする方が良いですか(C ++オブジェクトを制御するためのLuaテーブル)?または、他の何か?
ありがとうございました。
編集。私の分類:LuaとC ++:職務の分離。
トピックの続き:Lua、ゲームの状態、ゲームのループ
c++ - Lua、ゲーム ステート、ゲーム ループ
各ゲーム ループの繰り返しで main.lua スクリプトを呼び出す - 良い設計か悪い設計か? パフォーマンスに(相対的に)どのように影響しますか?
からゲームの状態を維持します。C++ ホスト プログラムまたはb。Lua スクリプトまたはcから。両方から同期しますか?
(トピックに関する前の質問: Lua と C++: 職務の分離)
(すべての回答に投票します。最良の回答が受け入れられます。)
c++ - LuaテーブルにC関数を登録する
LuaにC関数を登録する方法はありますが、グローバルコンテキストではなく、テーブルフィールドとして登録しますか?
c++ - 文字列のベクトルを返す最も単純な lua 関数
文字列の配列を返し、それらを c++ ベクトルとして格納する lua 関数を呼び出す、非常に単純な c++ 関数が必要です。関数は次のようになります。
(lua ソース コードには、文字列の配列を返す lua 関数が含まれています)。
何か案は?
ありがとう!
c++ - luaL_dostring はスタックに何も置かないのですか?
Lua と C++ のインターフェースの基本を学ぼうとしていますが、問題が発生しました。文字列を返す関数を呼び出して、C++ 側で文字列を操作したいのですが、luaL_dostring が Lua スタックに何も置かないようです。
簡単なテストでさえ、正しく動作していないようです:
出力:
何か案は?
c++ - Lua ユーザーデータの保存と返却
私はC++で次のクラスを持っています
そして lua バインディング コードの一部:
そして、これらをLuaでユーザーデータとしてラップしたいので、次のようなことができます:
のアドレスを印刷するb
とb2
、2 つの固有のアドレスが得られますlua_newuserdata
。しかし、理想的には、同じメモリブロックを指しているため、同じユーザーデータを返したいと思います。どうすればこれを行うことができますか?
Lua にメモリを「担当」してもらいたいので、ガベージ コレクションで適切に削除されます。したがって、軽いユーザーデータが可能かどうかはわかりません。
lua - C-API という名前の Lua テーブルを作成する方法
次のように C-API から Lua テーブルを作成する方法:
テーブル名を設定するには?テーブルを作成して値を入れる方法しか知りませんが、テーブルの名前を設定する方法がわかりません。
名前のないテーブルを作成するコード: