問題タブ [luabridge]
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++ - LuaBridgeを使って同じクラスから継承した2つのクラスを登録するには?
LuaBridge を使用して同じクラスを継承する 2 つのクラスを登録しようとしていますが、失敗しました。
以下の 3 つのクラスを登録するにはどうすればよいですか?
このようにAとB1を登録するだけです
と
B1 から継承しているかのように B2 を登録することが判明しました。
どんな助けでも大歓迎です。
c++ - クラス内の luabridge クラス オブジェクト
奇妙な問題複数のクラスを使用するプログラムがあります.これらのクラスのいくつかは他のクラス内のオブジェクトを定義するために使用されますが、それらの値を変更することはできません.
C++ ファイル
今私たちが持っているluaファイルに
そしてプログラムは印刷します
Aのコンストラクターがcを666に設定するかどうかを明確にするために、プログラムは666を出力します
c++ - LuaBridge アサーション エラー
lua から c++ にアクセスするために luabridge に関するいくつかのチュートリアルを行ってきましたが、Google を検索しても答えが見つからないように見える問題に遭遇しました。
スクリプトを実行し、c++ から lua にアクセスするサンプル プログラムをセットアップしました。これは正常に動作します。しかし、関数をグローバル名前空間に登録しようとすると、実行時にエラーが発生します-コンパイルは問題ありません。
したがって、addFunction 呼び出しを含むこのコードでは、このエラーが発生します
addFunction 呼び出しがなければ、スクリプトに期待されるものを取得できます。
そのようなものを見つけられなかったので、私が見逃した明らかなものがあるのでしょうか?
すべての助けに感謝します!
c++ - クラスの関数を LuaBridge に登録してから、lua スクリプト経由で呼び出しますか?
プログラムを実行するたびに、コンソールに何も出力されません。これは、クラスを使用せず、すべてを main() で実行する場合にうまく機能します。
クラスに置いた瞬間、問題が発生し始めます。私は何を間違っていますか?
私のluaスクリプト「test.lua」
私はもう試した
と
と
c++ - Lua から C++ に列挙型を渡す最も簡単な方法は?
Lua スクリプトから C++ のゲーム エンジンにテクスチャをロードしようとしています。
エンジンは「ResourceHolder」と呼ばれるクラスを使用し、列挙型は「ResourceIdenifiers」と呼ばれるクラスからのものです。
私のゲーム シーンは、テクスチャとフォントの両方 (およびその他の必要なもの) に対して独自の ResourceHolder を作成します。したがって、Textures::ID (列挙型) と Fonts::ID の名前空間があります。
したがって、TextureHolder オブジェクト「mTextures」を作成するだけです。
次に、次のように 1 行で非常に簡単にテクスチャをロードします。
問題は、lua.script ファイルに次のようなものを含める予定であるにもかかわらず、Lua でこれらの列挙型を使用できないことです。
Lua スクリプトがこれらの列挙型を処理できるようにする最も簡単な方法は何ですか?
ResourceIdentifier と ResourceHolder のクラスは次のとおりです。
ResourceIdentifier.h
ResourceHolder.h (関連性が低い)
c++ - C++ -to-lua オブザーバー パターンを実装していますか?
コードに実装されたオブザーバー (または「リスナー」) パターンがあります。
現在、これは C++ で機能します。Entity クラスは、entityModified()
必要なときにいつでもメソッドを呼び出します。ここで、いくつかの機能を Lua に移したいと思います。それらの関数ポイントの中に、このリスナー コールバックがあります。エンティティは Lua スクリプトから作成されます。問題は、Lua でリスナー機能を実現するにはどうすればよいかということです。
たとえば、Lua スクリプトは現在、次のような処理を行っています。
c++ - 'self' を参照する Lua 関数を取得できません
いくつかのメンバー値を出力するメンバー関数を持つ単純なクラスを作成しようとしていますが、'self' を参照しようとするとエラーが発生します。
実行しようとしているスクリプトは次のとおりです。
私も試しましself:Name
たが、同様のエラーが発生します。ここで何が間違っていますか?
編集:
printName()
C++ コードから関数を呼び出すことを忘れていました。Lua から関数を呼び出すと、正常に動作します。
Lua で Test オブジェクトを作成し、コールバック関数を実行します。コールバックは、次のように C++ で呼び出されます。
スクリプト内のコールバックは次のように行われます。
を参照しない限り、コールバック自体は正常に機能しself
ます。エラーは、私がそれをしようとしたときにのみ発生します。
c++ - C2664 クラスを Lua に公開しようとすると、「const から & に変換できません」
LuaBridge を使用して 2 つのクラスを Lua に公開しようとしています。これらのクラスは次のようになりますSprite
。Texture
今、私はこれらを次のように Lua にバインドしようとしています:
ただし、これにより次のコンパイル エラーが発生します。
このエラーが発生する理由と修正方法を教えてください。
c++ - コンストラクターをクラスに渡す
LuaBridge を使用しており、C++ 情報をクラスに渡したいと考えています。
たとえば、 class があるとしA
ます。そのコンストラクターには整数が必要a
です。
これを使用して Lua 名前空間を作成しています。
クラス A のコンストラクターをこのように設定するにはどうすればよいですか? コンストラクターが Lua によって変更されることは望ましくありません。