プレイボタンゲームをタッチすると別のシーンに移動するときにボタン付きのメニューがありますが、タッチが機能しません。自分で書いています。isToucheEnabled= YES; initメソッドに追加し、onEnterメソッドを追加します[[CCTouchDispatcher sharedDispatcher] setDispatchEvents:YES];
しかし、それはうまくいきませんなぜ私がタッチを有効にできるのか助けてください
プレイボタンゲームをタッチすると別のシーンに移動するときにボタン付きのメニューがありますが、タッチが機能しません。自分で書いています。isToucheEnabled= YES; initメソッドに追加し、onEnterメソッドを追加します[[CCTouchDispatcher sharedDispatcher] setDispatchEvents:YES];
しかし、それはうまくいきませんなぜ私がタッチを有効にできるのか助けてください
次のコードを配置する必要があります。
-(void) onEnter {
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];
}
TouchDispatcher を有効にするシーン内で、同じシーンで次のように入力してください。
-(void) onExit {
[[CCTouchDispatcher sharedDispatcher] removeDelegate: self];
}
上記のコードがあるすべてのシーンでタッチが登録されるはずです。
これは、cocos2d(ソース)でメニューを定義する方法の例です。
CCMenuItem *starMenuItem = [CCMenuItemImage temFromNormalImage:@"ButtonStar.jpg" selectedImage:@"ButtonStarSel.jpg" target:self selector:@selector(starButtonTapped:)];
starMenuItem.position = ccp(60, 60);
CCMenu *starMenu = [CCMenu menuWithItems:starMenuItem, nil];
starMenu.position = CGPointZero;
[self addChild:starMenu];
さらにヘルプが必要な場合は、メニューの作成に使用しているコードを提供してください。
また、ヘッダーのCCLayerにUIGestureRecognizerDelegateインターフェイスを追加する必要があります。
例えば:
@interface YourScene : CCLayer <UIGestureRecognizerDelegate> {
}
レイヤーで次を使用します。
-(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)イベント
いいえ:
-(BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)イベント