Objective c Cocos2d菜单未注册触摸
我创建了一个新层,添加了三个菜单项,每个菜单项都有相应的方法,它们登录到控制台并切换视图,但什么也没发生。为什么会这样Objective c Cocos2d菜单未注册触摸,objective-c,ios,cocos2d-iphone,Objective C,Ios,Cocos2d Iphone,我创建了一个新层,添加了三个菜单项,每个菜单项都有相应的方法,它们登录到控制台并切换视图,但什么也没发生。为什么会这样 - (id) init { if (self = [super init]) { [self setIsTouchEnabled:YES]; CCSprite *background = [CCSprite spriteWithFile:@"bg.png"]; [background setPosition:CGPointMake(size.
- (id) init
{
if (self = [super init])
{
[self setIsTouchEnabled:YES];
CCSprite *background = [CCSprite spriteWithFile:@"bg.png"];
[background setPosition:CGPointMake(size.width / 2, size.height / 2)];
[self addChild:background z: 0];
CCMenuItemFont *menu1 = [CCMenuItemFont itemFromString:@"New game" target:self selector:@selector(startNewGame)];
[menu1 setPosition:CGPointMake(size.width / 2, 330)];
CCMenuItemFont *menu2 = [CCMenuItemFont itemFromString:@"Options" target:self selector:@selector(options)];
[menu2 setPosition:CGPointMake(size.width / 2, 250)];
CCMenuItemFont *menu3 = [CCMenuItemFont itemFromString:@"Credits" target:self selector:@selector(credits)];
[menu3 setPosition:CGPointMake(size.width / 2, 170)];
[self addChild:menu1];
[self addChild:menu2];
[self addChild:menu3];
}
return self;
}
- (void) credits
{
NSLog(@"In credits");
}
// same methods for new game and options. It never gets called.
CCMenuItem实例必须添加到CCMenu实例,该实例必须添加到层
CCMenu *mainMenu = [CCMenu menuWithItems:menu1, menu2, menu3, nil];
mainMenu.position = CGPointZero;
[self addChild:mainMenu];
祝你好运