1

我正在使用 Cocos2d 并希望从另一个 CCScene 访问一个变量 (CakesEaten)。

// in MainScene.h
@interface MainScene : CCScene{
    int CakesEaten;
}
@property int CakesEaten;

// in MainScene.m
@implementation
@synthesize CakesEaten;

// at the top of ScoreScreen.m
#import "MainScene.h"
// in the ScoreScreen.m init method
MainScene.CakesEaten = 9999

给出错误:在 MainScene 类型的对象上找不到属性“CakesEaten”。这是我在构建时收到的唯一错误。

4

2 回答 2

0

为了访问任何属性,无论是否合成,您需要一个类的实例:

MainScene *scene = [[MainScene alloc] init];
scene.CakesEaten = 9999;

注意:最新版本的 Xcode 不需要@synthesize,除非您想更改默认使用的变量的名称。您可以安全地删除该行以及成员变量的声明。

最终结果应如下所示:

@interface MainScene : CCScene
@property (nonatomic, readwrite) int CakesEaten;
@end
于 2014-02-10T15:10:35.467 回答
0

不是 MainScene,只是自我。

self.CakesEaten = 9999
于 2014-02-10T15:12:39.580 回答