//class1
- (void)starButtonTapped:(CCMenuItem*)sender {
switch(sender.tag) {
case 1: NSLog(@"Pressed 1");
class2 *myFood = [[class2 alloc]init];
[self addChild:myFood];
break;
}
}
//class2
-(id) init
{
if( (self=[super init])) {
//ccmenu
CCMenuItem *food1 = [CCMenuItemImage itemFromNormalImage:@"Food0001.png" selectedImage:@"Food0002.png" target:self selector:@selector(food:)];
CCMenuItem *food2 = [CCMenuItemImage itemFromNormalImage:@"Food0003.png" selectedImage:@"Food0004.png" target:self selector:@selector(food:)];
food1.tag = 1;
food2.tag =2
CCMenu *menu1 = [CCMenu menuWithItems:food1,food2, nil];
[self addChild:menu1];
}
return self;
}
-(void)food:(CCMenuItem*)sender{
switch (sender.tag ) {
case 1:
NSLog(@"food1");
//go back to class2 and add food1 sprite
break;
case 2:
NSLog(@"food1");
//go back to class2 and add food2 sprite
break;
default:
break;
}
}当我按下一个按钮后,它从class1开始,它用另一个菜单添加了class2的子菜单。如何删除子class2,然后根据我在class2中按下的按钮添加不同的sprite?谢谢你的帮助。可以在class1中使用class2中的标记吗?
发布于 2011-12-07 21:03:02
只需执行以下代码即可。
//class2
-(id) init
{
if( (self=[super init])) {
//ccmenu
CCMenuItem *food1 = [CCMenuItemImage itemFromNormalImage:@"Food0001.png" selectedImage:@"Food0002.png" target:self selector:@selector(food:)];
CCMenuItem *food2 = [CCMenuItemImage itemFromNormalImage:@"Food0003.png" selectedImage:@"Food0004.png" target:self selector:@selector(food:)];
food1.tag = 1;
food2.tag =2
// menu1 is instance variable ( declared in class2 interface )
menu1 = [CCMenu menuWithItems:food1,food2, nil];
[self addChild:menu1];
}
return self;
}
-(void)food:(CCMenuItem*)sender{
switch (sender.tag ) {
case 1:
NSLog(@"food1");
//go back to class2 and add food1 sprite
[self removeChild:menu1 cleanup:YES];
CCSprite *spriteFood = [CCSprite spriteWithFile:@"food1.png"];
[self addChild:];
break;
case 2:
NSLog(@"food2");
//go back to class2 and add food2 sprite
[self removeChild:menu1 cleanup:YES];
CCSprite *spriteFood = [CCSprite spriteWithFile:@"food2.png"];
[self addChild:spriteFood];
break;
default:
break;
}
}https://stackoverflow.com/questions/8415136
复制相似问题