Cocos2d:在另一个(父?)CCLayer中从一个CCLayer调用函数

时间:2010-11-15 15:23:35

标签: function cocos2d-iphone cclayer

你好真棒的开发社区。 我已经寻找了几天的答案,而且似乎找不到手柄,所以决定自己发布Q.

我有一个游戏,其中包含用于挑选物品的菜单。 菜单可以有2 - > 30多项,所以他们需要滚动。还有类别菜单,当单击某个项目时,会出现一个包含该类别项目的新菜单。

我认为最有效的方法是在专用图层上创建菜单所需的所有元素。 问题是我不知道如何在包含菜单的CCLayer中调用主游戏场景中定义的addNewItems:itemsArray函数。

或者,我应该只使用一层吗?有点乱,难以将多个项目放在一起。

非常感谢您提供任何帮助 - 或者将我指向明确的教程或如何做到这一点的示例,因为我真的找不到任何帮助。

以下是我要创建的内容的流程图。

谢谢!

Hanaan

alt text

1 个答案:

答案 0 :(得分:5)

最后得到了David994A(cocos2d论坛)的答案

答案是将图层传递给它的父图层 我像这样初始化CCLayer:

- (id)initWithParent:(CCLayer *)parentLayer;

并将其称为:

ItemsMenuLayer * tempLayer = [[ItemsMenuLayer alloc] initWithParent:self];

然后,从CClayer内部我可以调用任何父级的图层函数,如下所示:

[parentLayer functionName];