3

In CocosBuilder, there is a Code Connections section. At second line, it has three options: Don't Assign, Doc root var and Owner var.

Sometimes, I got a error when I was selecting Owner var, but it works fine after I changed it to Doc root var.

I google a lot, but can't find a satisfied answer.

Does anyone can explain the difference clear?

4

2 に答える 2

4

割り当てないでください は、単にCode Connectionsを使用していないことを意味します。

Doc root varは、カスタム cocos2d クラスを接続していることを意味します。これにより、ドキュメント (CCB ステージ/ファイル) 内のオブジェクトがコードに接着/接続されます。このオプションは便利ですが、ルート ノードのコントローラ オブジェクトが提供されていることを確認する必要があります。

場合によっては、ccb ファイルのルート ノード以外のオブジェクトからメンバー変数にアクセスし、別のオブジェクトへのコールバックを取得できる必要があります。これを行うには、所有者を CCBReader に渡す必要があります。

cocos2d-x との接続で説明されているように。

所有者 varは、ルート ノード以外の変数に接続できるようにすることで、柔軟性を高めます。選択した任意の変数に接着できます。

取得しているエラーは、使用できない名前を指定したことが原因である可能性があります (変数が存在しません)。プロパティをDoc root varまたはOwner varに設定し、フィールドを空のままにすると、このエラーが発生することに注意してください。

于 2013-03-06T14:04:03.563 に答える
2

メンバー変数をリンクすると、Doc ルート変数はルート ノードのコントローラー オブジェクトにメンバーを追加します。MainScene.myVarJS コントローラーが MainScene であると仮定してアクセスできます。これは、シーン ルート レイヤーの JS コントローラー プロパティによって定義されます。

または、JS コントローラー接続を介してシーンに直接結び付けられていないカスタム オブジェクトを使用して同じことを行うこともできます。これを実現するには、Owner var属性を使用します。

[割り当てない]がデフォルトで、何もしません。

基本的に、これらの機能により、コードからこれらの CCB オブジェクトを簡単に参照できます。

CocosBuilder JS サンプル ゲームを試してみると役立つ場合があります。cocos2d-x との接続方法に関するドキュメントも、まだ読んでいない場合に役立つかもしれません。

于 2013-03-05T14:24:11.043 に答える