CCMenuItemLabelAndSprite и CCSprite из CCSpriteBatchNode - PullRequest
1 голос
/ 27 марта 2012

Я пытаюсь создать некоторый пункт меню с изображением и меткой, используя класс Барри

    CGRect menuItemRect = CGRectFromString([[myAtlas objectForKey:@"menuItem.png"] objectForKey:@"textureRect"]);
    CCSprite *normalMenuItemSprite = [CCSprite spriteWithBatchNode:batchNode rect:menuItemRect];
    CCSprite *selectedMenuItemSprite = [CCSprite spriteWithBatchNode:batchNode rect:menuItemRect];

    CCMenuItemLabelAndSprite *aMenuItem = [CCMenuItemLabelAndSprite itemWithLabel:itemLabel normalSprite:normalMenuItemSprite selectedSprite:selectedMenuItemSprite];

    CCMenu *myMenu = [CCMenu menuWithItems:aMenuItem, nil];
    myMenu.anchorPoint = ccpzero;
    myMenu.position = ccp(330,280);
    [myMenu alignItemsHorizontallyWithPadding:100];
    [self addChild:myMenu];

Если CCSprite визуализируется с помощью CCSpriteBatchNode, CCSprite # draw ДОЛЖЕННЕ вызываться - это ошибка, которая появляется в моем журнале

Я знаю, что не могу добавить другие объекты, кроме CCSprites, в CCSpriteBatchNode, но как мне справиться с этой ситуацией?

1 Ответ

1 голос
/ 28 марта 2012

Попробуйте использовать spriteWithSpriteFrameName

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"myAtlas.plist"];

CCSprite *normalMenuItemSprite = [CCSprite spriteWithSpriteFrameName:@"menuItem.png"];
...