Одно и то же 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, но я лично предпочитаю работать со слоями, а не с меню. Это вопрос личного выбора.)

Трудно дать очень точный ответ с информацией в вашем вопросе, но я надеюсь, что это поможет вам выбрать правильный путь.

Другие вопросы по тегам