我有这个
CCMenuItem *play =
[CCMenuItemSprite itemWithNormalSprite:[CCSprite spriteWithSpriteFrameName:@"play.png"]
selectedSprite:[CCSprite spriteWithSpriteFrameName:@"stop.png"]];
CCMenuItem *stop =
[CCMenuItemSprite itemWithNormalSprite:[CCSprite spriteWithSpriteFrameName:@"stop.png"]
selectedSprite:[CCSprite spriteWithSpriteFrameName:@"play.png"]];
CCMenuItemToggle *stopPlayButton =
[CCMenuItemToggle itemWithTarget:self
selector:@selector(togglePlayStop:)
items:Play, botaoStop, nil];
CCMenu *togglePlayStop = [CCMenu menuWithItems:stopPlayButton, nil];这是一个播放/停止按钮。它通常会显示播放图像。用户轻敲按钮,电影播放,按钮切换以显示停止图像,因此用户可以停止播放电影。这部电影快结束了。应用程序将停止播放电影。现在,我必须切换按钮上的图像,以再次显示播放图像。
如何以编程方式“点击”该按钮?
谢谢。
发布于 2012-07-12 01:27:17
CCMenuItemToggle实例具有属性selectedIndex。你可以读写它。在您的情况下,索引0处的项目将是您的播放按钮,索引1处的项目将是您的停止按钮。因此,只需在接口中声明切换,然后更改selectedIndex属性即可。两者都有
[m_stopPlayToggle setSelectedIndex:0];和
m_stopPlayToggle.selectedIndex = 0;会将您的播放按钮设置为活动状态。
发布于 2014-11-20 12:18:46
从Cocos2d-x 3.0开始,接口更改为MenuItemToggle,,使用方法如下:
//in SomeLayer init()
auto onItem = MenuItemImage::create(...);
auto offItem = MenuItemImage::create(...);
auto aToggle= MenuItemToggle::createWithCallback(CC_CALLBACK_1(SomeLayer::onAToggle, this),
onItem, //0th
offItem, //1st
NULL);
aToggle->setSelectedIndex(getSomeBoolValueForThisToggle()?0:1); //true to show 0th, false 1sthttps://stackoverflow.com/questions/11437432
复制相似问题