//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的child添加到另一个菜单中。 如何删除子class2然后根据我在class2中按下的按钮添加不同的精灵?感谢帮助。是否可以在class1中的class2中使用标签?
答案 0 :(得分:1)
请仔细阅读以下代码。
//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;
}
}