C++ 如何在cocos2d-x中将背景图像设置为CCMenu

C++ 如何在cocos2d-x中将背景图像设置为CCMenu,c++,cocos2d-x,C++,Cocos2d X,我正在制作一个有下拉菜单的游戏。所以我希望菜单有一个背景图像,因为它现在是透明的 //CCSMenu系统功能表 stethMenu->alignItemsInColumns(2,2,2) stethMenu->setPosition(winsize.width/2,winsize.height/2); stethMenu是我想要有背景的菜单。我有一个背景图像在一个CCSprite。我试图让精灵成为stethMenu的孩子,但没有成功,只有一个例外 从我的头顶开始的一个方法是使精灵成为当前层的

我正在制作一个有下拉菜单的游戏。所以我希望菜单有一个背景图像,因为它现在是透明的


//CCSMenu系统功能表
stethMenu->alignItemsInColumns(2,2,2)
stethMenu->setPosition(winsize.width/2,winsize.height/2);

stethMenu是我想要有背景的菜单。我有一个背景图像在一个CCSprite。我试图让精灵成为stethMenu的孩子,但没有成功,只有一个例外


从我的头顶开始的一个方法是使精灵成为当前层的一个单独的子对象,并将其位置设置为与菜单相同。我希望有更好的方法,这样我就不必在每次菜单位置改变时都将精灵的位置设置为与菜单相同。

创建CCSprite并将其添加到CCmen的父级,使背景精灵的z顺序小于CCmen

>P>我会考虑你使用CcSpRITE作为Culple的孩子作为最忠实于COCOS2D设计原则的解决方案的方法。p> 但是,与其将CCSprite和CCMenu作为CCLayer的单独子级添加,我建议将CCMenu作为CCSprite的子级添加。使用此方法,您只需更改CCSprite的位置,其所有子项都将相对于它进行定位

节点图如下所示:

  • CCLayer
    • 雪碧
      • CCMenu
        • CCMenuItem
        • CCMenuItem
        • CCMenuItem
        • 等等

无不工作,断言失败动态强制转换CCMenu子项=0类似的内容。为什么,我建议您将背景(CCSprite)添加到基础层…(CCMenus的父项)…这不是答案,我已经知道,在我的问题的最后一段中…我要做的是,始终将菜单添加到背景,并将CCMenus位置添加到ccp(0,0)。并设置菜单项的位置…即使在将ccmenu添加到任何层时也有效…而且一旦移动ccmenu,则所有btn都会移动…是的,这是正确的。我的菜单有六项。除了这些项目,我希望菜单作为一个整体有一个背景图像。就像下面链接中的图片:我还没有尝试过,但可能我会在未来的应用程序中尝试。