【问题标题】:How to deal with CCMenuItem in Cocos2dCocos2d中如何处理CCMenuItem
【发布时间】:2013-01-02 21:59:39
【问题描述】:

我是 Cocos2d 的新手,尝试将游戏从普通 Cocoa Touch 移植到 Cocos2d。

我通过自定义方法创建了一些按钮:

+ (CCMenuItem *)createMenuItemImageWithNormalImage:(NSString *)normalImage selectedImage:(NSString *)selectedImage tag:(int)tag target:(id)target selector:(SEL)selector position:(CGPoint)position {

    CCMenuItem *item = [CCMenuItemImage itemWithNormalImage:normalImage selectedImage:selectedImage];
    item.tag = tag;
    [item setTarget:target selector:selector];
    item.position = [TSCCTransform transformPositionFromCocoaTouchToCocos2d:CGPointMake(position.x, position.y)];

    return item;
}

按钮:

    [self addChild:[TSCCLayer createMenuItemImageWithNormalImage:@"btn-mouse-dec.png" selectedImage:@"btn-mouse-dec.png" tag:0 target:self selector:@selector(changeNumberOfPlayers:) position:ccp([TSCCTransform winSizeWidth] - 140, 146)]];

但是当我点击它时什么也没发生。问题出在哪里?如何正确操作?

【问题讨论】:

    标签: objective-c cocos2d-iphone ccmenuitem


    【解决方案1】:

    您不必添加菜单项,而是添加菜单。

    将该 CCMenuItem 添加到 CCMenu,然后将菜单添加为图层的子层:

    CCMenuItem* item=[TSCCLayer createMenuItemImageWithNormalImage:@"btn-mouse-dec.png" selectedImage:@"btn-mouse-dec.png" tag:0 target:self selector:@selector(changeNumberOfPlayers:) position:ccp([TSCCTransform winSizeWidth] - 140, 146)]
    CCMenu* menu= [CCMenu menuWithItems: item, nil];  // item becomes child of menu
    [self addChild: menu];
    

    【讨论】:

    • 一切都是一样的:/我创建了像上面一样的菜单,但是出了点问题。
    • 我删除了项目并再次编译,它正在工作。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多