看了下源码,其实可以这样实现:
先创建一个空的MenuItemImage,再用精灵帧设置normal,select,disabled的图片。
如:
CCMenuItemImage* testMenuItem = CCMenuItemImage::create("","",this,menu_selector(MenuLayer::testMenuItemCallback));
testMenuItem->setPosition(ccp(210,115));
menu->addChild(testMenuItem);
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("test.plist");
testMenuItem->setNormalSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("normal.png"));
testMenuItem->setSelectedSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("select.png"));
testMenuItem->setDisabledSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("disabled.png"));