在多个类中使用*值

时间:2012-02-25 19:26:40

标签: objective-c cocos2d-iphone

我确信这非常简单,但它已经困扰了好几个小时。

说我在下面有以下设置:(简化)

-(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的*船?

1 个答案:

答案 0 :(得分:3)

将其设为ClassA的成员变量,并为CCSprite *boat编写getter方法。

+(CCSprite *)boat
{
return boat;
}

现在在B级

[ClassA boat];  

修改
您也可以使用属性或关联对象......这两种方法都能正常工作,如Richard J. Ross III所示 如果您的应用程序中只需要一个对象实例,请查看Singletons, AppDelegates and top-level data帖子。