現在、2DゲームエンジンにLuaスクリプトを統合する方法を計画しています。C++クラスとオブジェクトを公開するための最も適切なソリューションに直行したいと思います。
私はこれを読みました(あなたが助けてくれるなら):http : //lua-users.org/wiki/BindingCodeToLua
お勧めのより良いスクリプト言語がある場合は、それを選択してください; D
すべての助けを歓迎します、私は感謝の実装を開始するための最良のソリューションをピックアップする必要があります
現在、2DゲームエンジンにLuaスクリプトを統合する方法を計画しています。C++クラスとオブジェクトを公開するための最も適切なソリューションに直行したいと思います。
私はこれを読みました(あなたが助けてくれるなら):http : //lua-users.org/wiki/BindingCodeToLua
お勧めのより良いスクリプト言語がある場合は、それを選択してください; D
すべての助けを歓迎します、私は感謝の実装を開始するための最良のソリューションをピックアップする必要があります
回答:
スクリプト言語の主要な品質が簡単なバインディングである場合は、AngelScriptを試してください。プロキシ関数を記述する必要なく、登録された関数を直接呼び出すことができ、さまざまなコンパイラの呼び出し規約をサポートします。言語自体はc / c ++に似ていますが、c / c ++は良いか悪いかによって異なります。
合理的な従来のバインディングを実行している限り、LuaBindは必要なすべてを実行します。クラスと関数のバインドは、関数ごとに1行になる傾向があります。例が必要な場合は、ここにあります私はLuaBindインターフェースの開始のためのモジュール(L用(見た目)に取り組んできたゲームエンジンから該当するファイル、DontKillMeBroは<>私は私を聞かせてまで装備少しシステムがありますより正確には、特定の機密オブジェクトのオブジェクト破棄のタイミングを調整します。)
もっと複雑なものが必要な場合は、おそらく実際のLua APIを使用する必要があります。幸いなことに、Lua APIはかなり単純です。
Nuclexのプリコンパイル済みライブラリを使い、LuaBindのファイルをインクルードします。(VS2008で作業している場合)
LuaBindでは、いくつかのBoostライブラリとツールを使用してビルドする必要があるため、このパッケージを使用すると貴重な時間を節約できます(おそらく、頭痛の種でもあります)。自分が何をしているのかを知っていれば、1時間以内にLuaを実行できるようになると思います。
また、パフォーマンスを少し向上させたい場合は、デフォルトのLua dllをLuaJIT dllに変更することも検討してください。ライブラリをコンパイルし、メインプロジェクトでリンクしているlib / dllを置き換えるだけの問題なので、非常に簡単です。
それで、幸運を!