#ifndef __TOGGLETEST2_SCENE_H__
#define __TOGGLETEST2_SCENE_H__
#include "cocos2d.h"
class ToggleTest2 : public cocos2d::LayerColor
{
public:
static cocos2d::Scene* createScene();
CREATE_FUNC(ToggleTest2);
private:
virtual bool init();
void callBack();
public:
private:
bool isSound = true;
cocos2d::MenuItemSprite *soundItem;
};
#endif // __TOGGLETEST2_SCENE_H__
#include "ToggleTest2.h"
USING_NS_CC;
Scene* ToggleTest2::createScene()
{
auto scene = Scene::create();
auto layer = ToggleTest2::create();
scene->addChild(layer);
return scene;
}
bool ToggleTest2::init()
{
//白色背景
if(!LayerColor::initWithColor(Color4B::WHITE))
{
return false;
}
Size vSize = Director::getInstance()->getVisibleSize();
Sprite *soundOn = Sprite::create("Sound_on.png");
soundItem = MenuItemSprite::create(soundOn, soundOn, CC_CALLBACK_0(ToggleTest2::callBack, this));
soundItem->setPosition(vSize / 2);
Menu *menu = Menu::create(soundItem, nullptr);
menu->setPosition(Vec2::ZERO);
this->addChild(menu);
return true;
}
void ToggleTest2::callBack()
{
//声音开启 或者 声音关闭
if(isSound)
{
Sprite *soundOff = Sprite::create("Sound_off.png");
soundItem->setNormalImage(soundOff);
soundItem->setSelectedImage(soundOff);
}
else
{
Sprite *soundOn = Sprite::create("Sound_on.png");
soundItem->setNormalImage(soundOn);
soundItem->setSelectedImage(soundOn);
}
isSound = !isSound;
}
cocos2d-x 切换两个菜单项 不用MenuItemToggle
最新推荐文章于 2016-07-24 16:25:00 发布