free4machine成员PM此用户
嗨,
我想制作一个示例动画:
在屏幕的底部有一个按钮,当按下这个按钮时会出现一个小菜单。并且在小菜单的底部有一个图标,当按下该图标时,小菜单将消失。
按钮,小菜单,图标,都是CCMenuItemImage的实例。
问:当按下图标时,小菜单不会消失。该图标似乎不会响应触摸事件。
如有任何建议或帮助,我们将不胜感激。
对不起,我的英语很差。
代码如下:
CCMenuItemImage *bg = [CCMenuItemImage itemFromNormalImage:@"b1.png" selectedImage:@"b2.png" ];
CCMenuItemImage *button = [CCMenuItemImage itemFromNormalImage:@"button.png" selectedImage:@"button2.png" target: self selector:@selector(showSideMenu:)];
CCMenuItemImage *sideMenu = [CCMenuItemImage itemFromNormalImage:@"s1.png" selectedImage:@"s2.png" ];
CCMenuItemImage *backbutton = [CCMenuItemImage itemFromNormalImage:@"backbutton.png" selectedImage:@"backbutton2. png" target:self selector:@selector(hideSideMenu:)];
[ sideMenu addChild: backbutton ];
CCMenu *menu = [ CCMenu menuWithItems: bg,button, sideMenu, nil ];
[ self addChild: menu];showSideMenu和hideSideMenu所做的就是使用runAction让sideMenu出现和消失。
谢谢。
发布于 2010-07-09 01:15:10
根据代码,我看到的唯一问题是backButton没有被添加为菜单的子级。参数列表中只有bg、button和sideMenu。通过将它添加为bg的子级,它不会触发它自己的选择器,而是bg的选择器。而且由于bg没有定义任何选择器,所以什么都不会发生。最简单的解决方法是将just按钮添加到列表中。您的代码将如下所示:
CCMenuItemImage *bg = [CCMenuItemImage itemFromNormalImage:@"b1.png" selectedImage:@"b2.png" ];
CCMenuItemImage *button = [CCMenuItemImage itemFromNormalImage:@"button.png" selectedImage:@"button2.png" target: self selector:@selector(showSideMenu:)];
CCMenuItemImage *sideMenu = [CCMenuItemImage itemFromNormalImage:@"s1.png" selectedImage:@"s2.png" ];
CCMenuItemImage *backbutton = [CCMenuItemImage itemFromNormalImage:@"backbutton.png" selectedImage:@"backbutton2. png" target:self selector:@selector(hideSideMenu:)];
CCMenu *menu = [ CCMenu menuWithItems: bg,button, sideMenu, backbutton, nil ];
[ self addChild: menu];如果希望每个按钮相对于菜单定位,只需设置其位置属性即可。
https://stackoverflow.com/questions/3164244
复制相似问题