2012-02-25 50 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); 
} 

我將如何讓*爲船的ClassA ClassB中使用嗎?

+3

是'ClassA'和'ClassB'屬於同一個類的兩種方法,還是他們的命名意味着暗示它們是方法不同的類? – CRD 2012-02-25 20:17:36

回答

3

使其成爲ClassA的成員變量,併爲CCSprite *boat寫入getter方法。

+(CCSprite *)boat 
{ 
return boat; 
} 

現在,在B類

[ClassA boat]; 

編輯
你也可以使用性質或相關聯的對象......工作都非常出色,通過Richard J. Ross III建議。
如果在應用程序中只需要一個對象的單個實例,請查看Singletons, AppDelegates and top-level data的帖子。

+0

你也可以使用屬性或關聯的對象......都工作得非常好。 – 2012-02-25 19:49:58