【问题标题】:CCMenuItemLabelAndSprite and CCSprite from CCSpriteBatchNodeCCMenuItemLabelAndSprite 和 CCSpriteBatchNode 中的 CCSprite
【发布时间】:2012-03-28 22:25:43
【问题描述】:

我正在尝试使用barry's class 创建一些带有图像和标签的菜单项

    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 但我该如何处理这种情况?

【问题讨论】:

    标签: objective-c cocos2d-iphone menuitem


    【解决方案1】:

    尝试使用spriteWithSpriteFrameName

    [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"myAtlas.plist"];
    
    CCSprite *normalMenuItemSprite = [CCSprite spriteWithSpriteFrameName:@"menuItem.png"];
    

    【讨论】:

      猜你喜欢
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多