Я хочу добавить один слой поверх другого. Я пробовал это, используя следующий код
+(id) scene
{
CCScene *scene = [CCScene node];
GameScreen *layer = [GameScreen node];
[scene addChild: layer];
GameScreen *newLayer=[GameScreen node];
[scene addChild:newLayer];
return scene;
}
Но, возможно, есть некоторые ошибки, потому что, когда я пытался добавить что-то в newLayer, он говорит об использовании необъявленной переменной, даже если это указано в файле .h.
Не могли бы вы помочь мне с детальным кодом?
-2
stack
23 Июл 2012 в 17:06
Какая именно у вас ошибка? может также показать .h?
– Ken Toh
23 Июл 2012 в 17:26
NewLayer определяется только в методе сцены, поэтому, если вы хотите использовать вне этого метода, вы получите ошибку ...
– Sebastián Castro
23 Июл 2012 в 17:27
Я хочу добавить текст на новый слой (2-й) и добавить спрайты на слой (1-й). Итак, это должно выглядеть на той же сцене. И я хочу применить прикосновение только к newLayer.
– stack
23 Июл 2012 в 17:42
1 ответ
Лучший ответ
Вместо того, чтобы делать это в методе класса «сцена», добавьте «новый» CCLayer в метод - (id) init {}:
-(id) init {
self = [super init];
if (self) {
GameScreen *newLayer=[GameScreen node];
[self addChild:newLayer];
//Other code
} return self;
}
2
Alexander Blunck
23 Июл 2012 в 18:19
Пробовал и это тоже, но тогда он не будет ниже этого кода ([self addChild: newLayer];). Он постоянно вызывает код перед добавлением нового слоя и через некоторое время дает сбой.
– stack
24 Июл 2012 в 10:54
Или скажите мне, можно ли добавить два слоя в одну сцену и как?
– stack
24 Июл 2012 в 11:37
Это действительно странно ... обычно вы можете добавить столько CCLayers, сколько захотите ... не возражаете ли вы поделиться большим количеством кода?
– Alexander Blunck
24 Июл 2012 в 15:07
Похожие вопросы
Новые вопросы
cocos2d-iphone
Версия Objective-C для iOS и OS X от Cocos2d. Cocos2d - это фреймворк для создания 2D-игр и графических приложений.