0

MainGameとYourScoreという名前の2つのクラスがあります。MainGameには、ゲームのスコアを追跡するスコアintがあります。YourScoreでは、スコアをテキストラベルで表示したいと思います。

ラベルの「Helloworld」テキストをスコア数に変更できますか?

これは私がテキストラベルのために持っているコードです

          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;

Helloworldテキストラベルを変更する2番目のクラスでそのプロパティにアクセスできます。

クラスのオブジェクトを作成して使用するだけです label.text = classObject.score;

于 2013-02-07T12:03:49.610 に答える
0

このタイプのUIの更新にはKVOを使用するのが最適であることがわかりました。基本的に、UIオブジェクトは、別のオブジェクトの特定のプロパティのオブザーバーとして登録されます。そのプロパティが変更されると、メッセージがUIオブジェクトのハンドラーに送信され、ハンドラーはデータを使用してUIを更新できます。このように、モデルオブジェクトはUIオブジェクトを認識する必要さえありません。

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

于 2013-02-07T19:48:14.233 に答える