我正在尝试通过使用 CCSpriteBatchNode 来减少 OpenGL 调用的数量和内存使用量。
我需要使用以下代码创建一个 CCMenu:
CCSpriteBatchNode *batchNode = [CCSpriteBatchNode batchNodeWithFile:@"atlasGeral.png"];
CCSprite *inputNormal = [CCSprite spriteWithSpriteFrameName:@"normalInput.png"];
CCSprite *inputPressed = [CCSprite spriteWithSpriteFrameName:@"PressedInput.png"];
[batchNode addChild:inputNormal];
[batchNode addChild:inputPressed];
CCMenuItem *input =
[CCMenuItemSprite itemWithNormalSprite:inputNormal
selectedSprite:inputPressed
target:self
selector:@selector(InputMenu:)];
CCMenu *mInputMenu = [CCMenu menuWithItems:input, nil];
这是灾难性的崩溃,消息Assertion failure in -[CCMenuItemSprite addChild:z:tag:]
任何线索?顺便说一句,有人可以创建或指向一些教程,可以体面地解释如何将这个 CCSpriteBatchNode 与这些其他元素一起使用,如 CCMenus、CCMenuItems 和其他美女?Cocos2D 几乎没有关于所有最重要特性的文档。
谢谢。