メニューを作成していますが、ユーザーがボタンを押したときにボタンの1つが応答するようにしたいので、cctouchbeganメソッドを追加してそこで管理するためにCCMenuのサブクラスを作成しました。問題は、両方(menuItemとcctouch)に応答できることですが、これは正常ですか?両方のことを強制する方法はありますか?よろしくお願いします。ここにコードを入れる必要がある場合はお知らせください
2 に答える
1
あなたは見るべきです-それはすでにsに選択されたフラグをCCMenu.m
実装して設定しています。親クラスからメッセージを盗んでいるため、アプローチが機能していない可能性があります。ccTouchBegan
CCMenuItem
サブクラスは[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 に答える