1

当触摸播放按钮游戏进入另一个场景时,我有带按钮的菜单,但触摸在那里不起作用我正在写 self.isToucheEnabled=YES; 在 init 方法中添加 onEnter 方法 [[CCTouchDispatcher sharedDispatcher] setDispatchEvents:YES];

但这不起作用请帮助我为什么可以启用触摸

4

4 回答 4

2

您必须输入以下代码:

-(void) onEnter { [[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES]; }

在要启用 TouchDispatcher 的场景中,然后在同一场景中确保输入以下内容:

-(void) onExit { [[CCTouchDispatcher sharedDispatcher] removeDelegate: self]; }

并且触摸应该在您拥有上述代码的每个场景中注册。

于 2011-08-04T22:21:53.610 回答
0

在图层中使用:

-(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

不是:

-(BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event

于 2012-11-28T09:54:18.677 回答
0

这是一个如何在 cocos2d ( source ) 中定义菜单的示例:

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];

如果您需要更多帮助,请提供您用于创建菜单的代码。

于 2011-08-03T09:59:05.943 回答
0

You also have to add UIGestureRecognizerDelegate interface in your CCLayer in your header!

e.g.:

@interface YourScene : CCLayer <UIGestureRecognizerDelegate>  {
     }
于 2012-10-31T11:53:31.360 回答