Function Cocos2d:从一个CCLayer在另一个(父?)CCLayer中调用函数
你好,真棒的开发者社区。 我已经寻找了好几天的答案,但似乎找不到答案,所以我决定自己发布Q 我有一个游戏,有菜单选择项目。 菜单可以有2->30+项,因此需要滚动。还有类别菜单,当单击某个项目时,将显示包含该类别项目的新菜单 我认为最有效的方法是在专用层上创建菜单所需的所有元素。 问题是我不知道如何从包含菜单的CCLayer调用主游戏场景中定义的addNewItems:itemsArray函数 或者,我应该只使用一层吗?有点凌乱,难以将多个项目移动到一起 非常感谢您的帮助,或者为我指明了一个清晰的教程的方向,或者如何做到这一点的示例,因为我真的找不到任何帮助 下面是我希望创建的流程图 谢谢 哈南Function Cocos2d:从一个CCLayer在另一个(父?)CCLayer中调用函数,function,cocos2d-iphone,cclayer,Function,Cocos2d Iphone,Cclayer,你好,真棒的开发者社区。 我已经寻找了好几天的答案,但似乎找不到答案,所以我决定自己发布Q 我有一个游戏,有菜单选择项目。 菜单可以有2->30+项,因此需要滚动。还有类别菜单,当单击某个项目时,将显示包含该类别项目的新菜单 我认为最有效的方法是在专用层上创建菜单所需的所有元素。 问题是我不知道如何从包含菜单的CCLayer调用主游戏场景中定义的addNewItems:itemsArray函数 或者,我应该只使用一层吗?有点凌乱,难以将多个项目移动到一起 非常感谢您的帮助,或者为我指明了一个清晰
终于从David994A cocos2d论坛得到了答案 答案是向层传递一个指向其父层的指针 我按如下方式初始化CCLayer: -id initWithParent:CCLayer*parentLayer 这样称呼它: ItemsMenuLayer*tempLayer=[[ItemsMenuLayer alloc]initWithParent:self] 然后,从CClayer内部,我可以调用父层的任何层函数,如下所示:
[父层函数名] 但是你到底把它们放在哪里呢?你能发布一个.h和.m的例子吗?很抱歉回复得太晚了。。。initWithParent是层的init方法ItemsMinuLayer*tempLayer=[[ItemsMinuLayer alloc]initWithParent:self];line正在场景中创建层的瞬间。在层的任何方法中,您都可以使用:[parentLayer functionName]从父级调用函数;