我有两层,游戏和hudlayer。 Hud位于HelloWorldLayer之上。
我有一个按钮,我按下该按钮重新加载hudlayer,这只是屏幕上显示的数字,用于捕捉游戏中的内容。
buttonTapped:在HudLayer(在HelloWorldLayer之前)实现。
HudLayer和HelloWorldLayer在同一个文件helloorldlayer.m上
我按下按钮并:
- (void)buttonTapped:(id)sender
{
int number = 6;
//Heres the problem
//I dont know how to change this part...
[[HelloWorldLayer]->changedNumber = Number; ///How do I give changedNumber Number's value?????
_label.string = [NSString stringWithFormat:@"Number: %d",number];
}
HelloWorldLayer有一个属性:
@property (assign) int changedNumber;
答案 0 :(得分:0)
听起来你的发件人是HelloWorldLayer。
您可以尝试:
sender.changedNumber = Number;
答案 1 :(得分:0)
试试这个:
CCArray* layers = [[CCDirector sharedDirector] runningScene].children;
for(int i=0; i<[layers count]; i++)
{
CCNode *node = [layers objectAtIndex:i];
if ([node isKindOfClass:[HelloWorldLayer class])
{
HelloWorldLayer *obj = (HelloWorldLayer*)node;
obj.changedNumber = Number;
break;
}
}