3

いくつかの調査の後、Cocos2d-x は Cocos2d の C++ バージョンであるため、Cocos2d-x lua が C++ の上にバインドされていることがわかりました。しかし、このWikiを見たとき、c++ と Java を lua にバインドすることについて何らかの情報があるようですが、リンクをクリックすると、決定済みと表示されました。そして、これは私を少し混乱させます.なぜCocos2d-x luaはまだC++をそれにバインドする必要があるのですか?

ここでLuabind を調べたところ、「それ (Luabind) には、C++ で記述された関数とクラスを Lua に公開する機能があります。また、lua でクラスを定義し、それらを他の lua クラスから派生させる機能も提供します。 C++ クラス。」そして、私はまだそれを取得することをやめません.何が拘束力があり、実際に何をしますか?

C++ と Java を Cocos2d-x lua にバインドする方法を教える良いソースまたは良いチュートリアルを知っている場合は、ここで共有していただければ幸いです。

お時間とご回答ありがとうございます。

4

1 に答える 1

3

Cocos2d-X は、Luabind ではなく tolua(++) をバインド メカニズムとして使用します。ただし、原則は同じままです。どちらのフレームワークも、Lua で使用できるクラス/メソッドと、Lua がそれらのオブジェクトをどのように処理するかをユーザーが指定する方法を提供します。

これは「バインディング」と呼ばれ、通常、メソッドとクラスのラッパー コードを生成する必要があります。これを手動で行うと、面倒でエラーが発生しやすくなります。Lua バインディング フレームワークは、使いやすさと正確さのために速度と効率を犠牲にしています。

tolua を学びたい場合は、tolua のドキュメントから始めて、 Lua バインディングの cocos2d-x の例を参照することをお勧めします。

于 2013-04-24T23:39:26.697 に答える