Привет, удивительное сообщество разработчиков. Я искал ответ на это в течение нескольких дней и просто не могу найти ручку, поэтому решил опубликовать Q сам.Cocos2d: функция вызова из одного CCLayer в другом (родитель??) CCLayer
У меня есть игра, в которой есть меню для выбора предметов. Меню могут содержать 2 -> 30 предметов, поэтому им нужно прокручивать. Существуют также меню категорий, которые при щелчке по элементу появляются новое меню с предметами этой категории.
Я понял, что наиболее эффективным способом для этого является создание всех элементов, необходимых для меню на выделенном слое. Проблема в том, что я понятия не имею, как вызвать функцию addNewItems: itemsArray, определенную в основной игровой сцене, из CCLayer, содержащего меню.
Или, должен ли я просто использовать один слой? Немного грязно и сложно перемещать несколько элементов вместе.
Благодарим вас за любую помощь - или указываете мне в сторону четкого руководства или примеров того, как это сделать, поскольку я честно не мог найти.
Ниже приведена блок-схема того, что я хочу создать.
Спасибо!
Hanaan
Но куда вы их положите? Не могли бы вы разместить примеры .h и .m? – VagueExplanation
'functionName' должен быть статическим методом, не так ли? – fuzz
Извините за поздний ответ на этот вопрос ... initWithParent - это метод init слоя Элемент ItemsMenuLayer * tempLayer = [[ItemsMenuLayer alloc] initWithParent: self]; линия создает мгновение слоя в сцене. В любом из методов слоя вы можете вызвать функцию из родителя с помощью: [parentLayer functionName]; –