問題タブ [luabind]
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 がそのクラス内でバインドされている場合、LuaBind を使用してクラス内で Lua 関数を呼び出します。
基本的には、Manager クラス内でクリーンな Lua インスタンスを作成し、クラス内の関数を Lua にエクスポートして、Lua 内で既に作成されている C++ クラスで関数を呼び出せるようにしたいだけです。
これは、私が問題を解決しようとしている現在の方法です。コンパイルはできますが、Lua では何も起こりません。
誰かが私が間違っていることを知っていますか、または他の提案はありますか?
Manager.lua
Manager.h
Manager.cpp
c++ - LuaBind:クラスの特定のインスタンスをLuaにバインドする方法は?
(補足:これはゲームプログラミングです)
LuaBindを使用してクラス全体をLuaにバインドするのは簡単です。
//何処か別の場所
これで、Luaでクラスのインスタンスを作成し、それを使用できます。
lua_example.lua
ただし、ここで、特定のテストインスタンスをLuaにバインドしたいと思います。これにより、オブジェクトをLuaに渡すことができます。たとえば、Playerクラスのインスタンスを使用して、次のようなことを行うことができます。
苦労して何かをするのとは対照的に
ここで、対応するC ++ SetPosition関数は、プレーヤーを見つけるためにstd::mapを検索する必要があります。
これも可能ですか?もしそうなら、LuaBindでどのように行うことができますか?
lua - Custom constructor in Luabind
I'm using Luabind to bind a C++ API to Lua. I have some objects that cannot be created directly, but rather must be created on another thread. I'm currently handling this by defining a "static" member called create
that yields until the object is created:
This works, but has the disadvantage of complicating the client API. For these classes, you cannot create them normally (e.g. local f = Foo()
), but instead need to do local f = Foo.create()
.
Is it possible to define a Luabind constructor that doesn't actually call the C++ constructor, but instead another function that returns the constructed object (and can yield in the meantime)? I've tried defining bindings for __init
and __call
(the latter under a scope
, to define it on the class, not its instances), but I didn't have success with either approach.
c++ - LNK2005 の解決方法: 既に定義済み
Lua と Luabind から C++ へのプロジェクトに取り組んでいます。ここで、C++ にエクスポートするすべてのクラスで、静的メソッド Register を次のように記述します。
Button.h で:
Button.cpp:
すでに Lua にエクスポートしたすべてのクラスについて、これは正常に機能します。しかし、Button.cpp の場合、これはうまくいかないようです。
次のリンカ エラーが発生します。
誰でもアイデアはありますか?
c++ - luabind:print、tostringなどの基本的なlua関数を呼び出すことはできません
私が推測する非常に基本的な質問:
luaを呼び出すC++コードは、次のようになります。
現在、test.luaには次の内容が含まれています。
実行すると、次のエラーが発生します。
何が問題ですか?それは環境と関係がありますか?印刷のような機能は地球環境で定義されていると思いました。なぜそれが見つからないのですか?
どうもありがとうございます。
c++ - luabindおよびstaticフィールド
クラスから静的フィールドをエクスポートしようとしています:
私は何を逃したのですか?
c++ - エラー: トークン "(" の前に二項演算子がありません
gcc のアップグレード後、次のエラーが原因でプロジェクトのビルドに失敗しました:
どうなり得るか?最新の gcc (4.8) スナップショットも試しましたが、役に立ちませんでした。
ps
c++ - 一部のデータをLua呼び出し関数にプッシュします
2つのファイルがあります。1つはLuaスクリプトを実行するためのもので、もう1つはスクリプト自体です。
はい、どうぞ:
host.cpp:
script.lua:
でコンパイルhost.cpp
しg++ host.cpp -o host.elf -I/usr/include/lua5.1 -llua5.1
ます。
実行の結果host.elf
は次のとおりです。
あるべきですが:
私は何を間違えますか?
lua - グローバルをポインターとして割り当て、lua で使用する必要があります
luabind を使用しており、この lua コードを機能させたいと考えています。
c++から、luaのグローバル変数「base」を「Base」クラスへのポインタとして代入したい。
Luabind を使用して、Base クラスをバインドできます。C++ で基本クラス オブジェクトを作成しています。このポインターを lua にプッシュし、上記の lua コードに見られるように lua グローバル変数 "base" として使用したいと考えています。
誰かが私を助けてくれますか? lightuserdata としてプッシュしようとしましたが、PrintMe が lua から呼び出されません。