你好真棒的开发社区。 我已经寻找了几天的答案,而且似乎找不到手柄,所以决定自己发布Q.
我有一个游戏,其中包含用于挑选物品的菜单。 菜单可以有2 - > 30多项,所以他们需要滚动。还有类别菜单,当单击某个项目时,会出现一个包含该类别项目的新菜单。
我认为最有效的方法是在专用图层上创建菜单所需的所有元素。 问题是我不知道如何在包含菜单的CCLayer中调用主游戏场景中定义的addNewItems:itemsArray函数。
或者,我应该只使用一层吗?有点乱,难以将多个项目放在一起。
非常感谢您提供任何帮助 - 或者将我指向明确的教程或如何做到这一点的示例,因为我真的找不到任何帮助。
以下是我要创建的内容的流程图。
谢谢!
Hanaan
答案 0 :(得分:5)
最后得到了David994A(cocos2d论坛)的答案
答案是将图层传递给它的父图层 我像这样初始化CCLayer:
- (id)initWithParent:(CCLayer *)parentLayer;
并将其称为:
ItemsMenuLayer * tempLayer = [[ItemsMenuLayer alloc] initWithParent:self];
然后,从CClayer内部我可以调用任何父级的图层函数,如下所示:
[parentLayer functionName];