cocos2d 和菜单有问题吗?

Posted

技术标签:

【中文标题】cocos2d 和菜单有问题吗?【英文标题】:Having problems with cocos2d and menus? 【发布时间】:2013-10-03 02:25:07 【问题描述】:

我在使用 cocos2d 模板制作菜单时遇到了 xcode 问题。 我把这段代码放在:

if( (self=[super init]) ) 
    CCMenuItemImage *item = [CCMenuItemImage itemWithNormalImage:@"bug.png" selectedImage:@"bug.png" target:self selector:@selector(doThis:)];
    CCMenu *menu = [CCMenu menuWithItems:item, nil];
    [self addChild:menu];

return self;
-(void)doThis:(id)sender

我将 if 语句放在 helloworldlayer.m 的 -(id) init 方法中。 如果有人可以提供帮助,将不胜感激。我遇到了一切都正确构建的问题,但图片没有显示。我已将它复制到我的资源中,但是当我构建它时,没有显示任何图片。

【问题讨论】:

你有什么问题?请描述它以及您尝试解决的问题。 您是否将图像添加到您的项目中? 【参考方案1】:

您必须在代码中设置 CCMenu 的位置,如下所示

if( (self=[super init]) ) 
    CCMenuItemImage *item = [CCMenuItemImage itemWithxNormalImage:@"bug.png" selectedImage:@"bug.png" target:self selector:@selector(doThis:)];
    CCMenu *menu = [CCMenu menuWithItems:item, nil];
    menu.position = ccp(200,200);
    [self addChild:menu];

return self;
-(void)doThis:(id)sender

【讨论】:

非常感谢,我看了一遍,开始时忘记了。谢谢【参考方案2】:

试试这个:

    CCSprite *sprite_1 = [CCSprite spriteWithFile:@"bug.png"];
    CCSprite *sprite_2 = [CCSprite spriteWithFile:@"bug.png"];

    CCMenuItemSprite * item = [CCMenuItemSprite itemWithNormalSprite:close_1
                                      selectedSprite:close_2
                                              target:self
                                            selector:@selector(doThis:) ];
     CCMenu *menu = [CCMenu menuWithItems:item, nil];
     [self addChild:menu];

     item.position = ccp(200,200); //Set position

还是不行,再放断点,确认sprite不为nil。

【讨论】:

【参考方案3】:

仅仅将文件从初始目录复制到 Xcode 项目中的 Resources 文件夹是行不通的。您需要将其添加到您的捆绑资源中。为此,

将图片从项目的 Resources 文件夹中拖放到 xcode 中项目导航栏的 Resources 文件夹下(在左侧)。确保选中“添加到目标

【讨论】:

以上是关于cocos2d 和菜单有问题吗?的主要内容,如果未能解决你的问题,请参考以下文章

修改 Cocos2D 滑动菜单网格添加额外的 BUY ME 按钮

Cocos2d 中有一定音量的声音?

cocos2d第二次打开后无响应的场景

cocos2d 转换坐标

COCOS2D:CCScene 中的 ScrollView 块动画

cocos2d游戏中实现关卡的最佳实践