Одно и то же CCMenu Добавление к нескольким сценам
Новичок в iOS и Cocos2d ( 2.x)
Хорошо, я хочу создать объект меню и вызывать его из каждой новой сцены.
Пример:
- Scene1, добавить меню
- Scene2, добавить то же меню, что и на Scene1
Я видел только, как инициализировать CCMenu, когда вы запускаете сам слой. вы строите предметы, а затем добавляете их в CCMenu и так далее.
Как я могу инициализировать CCMenu один раз, а затем просто добавить его в ту сцену, которую я просматриваю? Так что, если я просматриваю Scene1 или Scene2, это все то же меню.
Имеет ли это смысл?
1 ответ
Вам понадобится отдельный экземпляр меню для каждой сцены, так что с технической точки зрения вам нужно будет инициализировать его один раз для каждой сцены.
Но я думаю, что вы спрашиваете: "Как я могу написать код один раз, а затем повторно использовать этот код в каждой сцене". Вы захотите создать какой-то объект CC, который вы можете использовать повторно. Это может быть подкласс CCMenu, CCLayer или любой другой, который лучше всего подходит для этой цели. Так что вы можете попробовать что-то вроде:
@interface MyMenuLayer : CCLayer {
CCMenu *myMenu;
}
@end
Затем в файле.m настройте свое меню так, как вам нравится. Когда вы хотите включить это в Scene1:
MyMenuLayer *menu = [MyMenuLayer node];
[self addChild:menu];
Вы можете использовать точно такой же код в Scene2.
(Вы можете просто расширить CCMenu вместо CCLayer, но я лично предпочитаю работать со слоями, а не с меню. Это вопрос личного выбора.)
Трудно дать очень точный ответ с информацией в вашем вопросе, но я надеюсь, что это поможет вам выбрать правильный путь.