在我的文章中,我定义了一个这样的CCLayer:
@interface MyLayer : CCLayer {
CCLayer * referenceLayer;
}如何在+(CCScene *)场景中声明使用?
像这样吗?
@property (nonatomic, retain) CCLayer *referenceLayer;发布于 2012-02-03 01:54:26
因为+ (id)scene是一个类方法,所以您不能从它内部访问ivar/属性。一种可能的解决方案是在layer.m文件中包含一个静态变量,如以下代码片段所示:
static CCScene* _scene = nil;
+ (id)scene {
if (_scene == nil) {
_scene = [[CCScene node] retain];
//-- further scene initializaion
}
return _scene;
}这种简单的方法有一个缺点:您周围只能有一个这样的层。
https://stackoverflow.com/questions/9117224
复制相似问题