次のコードを使用しています。
CCMenuItemFont *controllerItem = [CCMenuItemFont itemFromString:@"Analog" target:self selector:@selector(controllerToggle)];
CCMenu *controllerTypeMenu = [CCMenu menuWithItems:controllerItem, nil];
[controllerTypeMenu alignItemsVerticallyWithPadding:30.0f];
controllerTypeMenu.position = CGPointMake(160.0f, 240.0f);
[self addChild:controllerTypeMenu z:0 tag:ControllerMenu];
}
-(void) controllerToggle
{
CCMenuItemFont *controllerItem = [self getChildByTag:888];
NSString * text = [NSString stringWithFormat: @"switching.. %f", CCRANDOM_0_1()];
[controllerItem setString:text];
}
controllerToggle では、controllerItem にアクセスして、String を別の値に変更したいと考えています。これは可能ですか?私が確認したところ、CCMenu は、配列の順序に基づいて CCMenuItems を子として追加します。しかし、それはエレガントな解決策ではありません。同じ理由で、CCMenuItem を Scene に追加すると、「child already added エラー」が発生するため、追加できません。だから私は自分の「スイッチ」ボタンを書くべきだと感じていますが、すでに何かがあるのだろうか..
何か助けて?? ありがとう!