1

私はCocos2dを初めて使用し、通常のCocoaTouchから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)]];

しかし、それをクリックしても何も起こりませんでした。問題はどこにありますか?どのように正しくそれをしますか?

4

1 に答える 1

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];
于 2013-01-02T22:26:08.530 に答える