0

メニューを作成していますが、ユーザーがボタンを押したときにボタンの1つが応答するようにしたいので、cctouchbeganメソッドを追加してそこで管理するためにCCMenuのサブクラスを作成しました。問題は、両方(menuItemとcctouch)に応答できることですが、これは正常ですか?両方のことを強制する方法はありますか?よろしくお願いします。ここにコードを入れる必要がある場合はお知らせください

4

2 に答える 2

1

あなたは見るべきです-それはすでにsに選択されたフラグをCCMenu.m実装して設定しています。親クラスからメッセージを盗んでいるため、アプローチが機能していない可能性があります。ccTouchBeganCCMenuItem

サブクラスは[super ccTouchBegan...]最初に呼び出し、次にsの選択された状態をチェックして、CCMenuItem視覚的に変更するボタンを決定する必要があります。


編集:または、さらに簡単です!--適切なCCMenuItemサブクラス(例CCMenuItemSprite)をサブクラス化し、selectedメソッドをデフォルトからオーバーロードして、視覚的な変更を含めます。

-(void) selected
{
    [super selected];
    //call method to update visuals here
}
于 2012-05-29T15:53:54.020 に答える
0

独自のCCLayerサブクラスを簡単に作成し、そのisTouchEnabledプロパティをYESに設定して、必要なタッチロジックを実装できます。

于 2012-05-29T11:52:55.063 に答える