そこで、cocosbuilder プロジェクトで cocosbuilder を使用して CCMenuItemImage を作成し、後でそれをプロジェクトで使用しました。ただし、応答メソッドは呼び出されません。
3 に答える
[ドキュメント] メニューに移動し、[JavaScript 制御] がオフになっていることを確認します。
これには本当に苦労しました。CCBControlButtons はセレクターを呼び出しましたが、CCMenuItemImages は呼び出しませんでした。その設定を変更し、現在は機能しています。
まあ、それは私にも起こりました...
解決策は最初です。セレクターフィールドを入力した後、Enterキーを押す必要があります..
第二に、公開する必要があります (私は複数回行います)。
参考までに....cocosbuilderプロジェクトを保存したとき(cmd + s)、プロジェクト全体は保存されません...現在のシーンのみが保存されます....
だから、念のため、心配しているすべてのシーンで保存して公開する必要があります..
最後のヒント(違いはわかりませんが)、ドキュメントルート(所有者ではない)を選択しました:D
このヒントがあなたのお役に立ちますように!
あなたは私たちが助けることを可能にする多くの情報を提供しませんでした. しかし、私は最近自分のアプリで同じことをしたので、どこを見るべきかについていくつかのアイデアを与えることができるかもしれません. まず、CCMenu は独自のルート ノード (別のファイル) ですか、それとも CocosBuilder ファイル内の CCLayer の子ですか?
最初のシナリオでは、CCMenu (および CCMenuItemImage) は別のノード ファイルであり、次のステートメントを使用してゲーム レイヤー コードにリンクします。
CCMenu *menu = [CCBReader nodeGraphFromFile:@"filename.ccbi" owner:self];
次に、CCMenuItemImage がリンクするメソッドの名前を入力する Cocosbuilder プログラムで、「ドキュメント ルート」ではなく「所有者」を選択してください。
2 番目のシナリオは、Cocosbuilder ファイルが CCLayer であり、CCMenu がそのレイヤーの子である場合です。これは、より可能性の高いシナリオです。でccbファイルを正常にロードした場合
CCScene *scene = [CCBReader sceneWithNodeGraphFromFile:@"filename.ccbi"]; (might need to double-check that one, I am not at my XCode)
次に、Cocosbuilder で CCMenuItemImage メソッド名を入力するときに、「ドキュメント ルート」を選択してこれをコードにリンクします。
次に、ゲーム レイヤのコードに、Cocosbuilder に入力したのと同じメソッドが必要です。したがって、ゲームレイヤーのメソッドが次の場合:
-(void)pressedButton:(id)sender {
CCLOG(@"Button pressed!");
}
次に、同じ方法が必要です
pressedButton:
Cocosbuilder のそのボタンにリンクされています。
お役に立てれば。