2012-02-25 4 views
2

これは恐ろしく簡単だと確信していますが、何時間も困惑していました。複数のクラスで*値を使用する

-(void) ClassA { 
CCSprite *boat = [CCSprite spriteWithFile:@"boat.png"]; 
[self addChild: boat]; 
} 

-(void) ClassB { 
CGPoint velocity = CGPointMake(0, 1); 
boat.position = ccpAdd(boat.position, velocity); 
} 

がどのように私はClassBの中にClassAのための*ボートが使用可能になるだろう(簡体字):

は、私は以下の次のセットアップを持って言いますか?

+3

'ClassA'と' ClassB'の2つのメソッドは同じクラスに属していますか、それともそれらがメソッドの別のクラスであることを意味する名前ですか? – CRD

答えて

3

メンバー変数をClassAとし、CCSprite *boatのgetterメソッドを記述します。

クラスBで今すぐ
+(CCSprite *)boat 
{ 
return boat; 
} 

[ClassA boat]; 

EDIT
またRichard J. Ross IIIにより示唆されるように非常にうまく機能の両方...プロパティまたは関連オブジェクトを使用することができます。
アプリケーションでオブジェクトのインスタンスを1つだけ必要とする場合は、Singletons, AppDelegates and top-level dataポストを参照してください。

+0

プロパティや関連オブジェクトを使用することもできます...両方とも例外的にうまく機能します。 –

関連する問題