0

我有两个名为 MainGame 和 YourScore 的类。在 MainGame 中,我有一个 Score int 来跟踪游戏中的分数。在 YourScore 中,我想在文本标签中显示分数。

我可以将标签中的“Hello world”文本更改为分数吗?

这是我用于文本标签的代码

          CCLabelTTF *label = [CCLabelTTF labelWithString:@"Hello World" fontName:@"Times New Roman" fontSize:32];
          label.position = ccp(screenWidth / 2 , screenHeight /1.5 );
          label.color = ccc3(255, 255, 255);
          [self addChild: label];
4

2 回答 2

2

你可以很容易地做到这一点。在声明分数的第一个视图控制器中。只需将其声明为如下属性

@property (nonatomic,assign) int score;

您可以在要更改 Hello world 文本标签的第二个类中访问该属性。

只需制作类的对象并使用 label.text = classObject.score;

于 2013-02-07T12:03:49.610 回答
0

我发现最好使用 KVO 进行这种类型的 UI 更新。基本上,UI 对象注册为另一个对象上特定属性的观察者。当该属性更改时,会向 UI 对象上的处理程序发送一条消息,该处理程序可以使用数据来更新 UI。这样模型对象甚至不必知道 UI 对象。

http://iphonedevelopment.blogspot.com/2009/02/kvo-and-iphone-sdk.html

于 2013-02-07T19:48:14.233 回答