#include "SimpleAudioEngine.h"
using namespace CocosDenshion;//音乐
音乐音效的运用UserDefault*userDefualt;
int yinliang;
bool yinxiao;
static int ff=0;
Scene*Birdie::createScene()
{
auto scene=Scene::create();
auto layer=Birdie::create();
scene->addChild(layer);
return scene;
}
bool Birdie::init()
{
if (!Layer::init())
{
return false;
}
++ff;
userDefualt =UserDefault::getInstance();
userDefualt =UserDefault::getInstance();
if (ff==1)
{
userDefualt->setIntegerForKey("yinxiao",10);
userDefualt->setBoolForKey("yinyue",true);
}
auto visableSize=Director::getInstance()->getVisibleSize();
auto sprite=Sprite::create("loding_bg.png");
sprite->setPosition(Vec2(240, 160));
sprite->setAnchorPoint(Vec2(0.5, 0.5));
sprite->setContentSize(Size(480, 320));
this->addChild(sprite);
auto button=Button::create("playbutton.png");
button->setPosition(Vec2(240, 80));
this->addChild(button);
button->addClickEventListener([=](Ref*){
auto b=Birdie1::createScene();
Director::getInstance()->replaceScene(b);
});
auto button3=Button::create("next_left.png");
button3->setPosition(Vec2(20, 300));
this->addChild(button3);
button3->addClickEventListener([=](Ref*){
// auto b=Birdie1::createScene();
// Director::getInstance()->replaceScene(b);
});
auto button1=Button::create("menu.png");
button1->setPosition(Vec2(460, 290));
this->addChild(button1);
button1->addClickEventListener([=](Ref*)
{
auto widget = Widget::create();//创建一个widget对象 ,类似于一个层
widget->setAnchorPoint(Vec2(0, 0));//设置锚点
widget->setPosition(Vec2(0, 0));//设置位置
widget->setContentSize(visableSize);//设置覆盖区域
widget->setTouchEnabled(true);//开启触摸
widget->setSwallowTouches(true);//吞噬触摸
this->addChild(widget);
auto a1=Sprite::create("mianban.png");
a1->setPosition(Vec2(240, 160));//设置位置
a1->setContentSize(Size(240, 160));
widget->addChild(a1);
auto a2=Text::create("音乐","",20);
a2->setColor(Color3B::RED);
a2->setPosition(Vec2(180, 210));//设置位置
widget->addChild(a2);
auto a3=Text::create("音量","",20);
a3->setColor(Color3B::ORANGE);
a3->setPosition(Vec2(180, 170));//设置位置
widget->addChild(a3);
//CheckBox(复选框)
auto slider=Slider::create();
auto checkBox=CheckBox::create("duihao2.png", "duihao1.png");
yinxiao=userDefualt->getBoolForKey("yinyue");
checkBox->setPosition(Vec2(220, 210));
checkBox->setScale(0.3);
//设置复选框)选择时,图片显示的情况
checkBox->setSelected(yinxiao);
widget->addChild(checkBox,2);
checkBox->addEventListener([=](Ref*f ,CheckBox::EventType type)
{
switch (type)
{
case CheckBox::EventType::SELECTED:
{
SimpleAudioEngine::getInstance()->resumeBackgroundMusic();
slider->setEnabled(true );
userDefualt->setBoolForKey("yinyue",true);
userDefualt->flush();
break;
}
case CheckBox::EventType::UNSELECTED:
SimpleAudioEngine::getInstance()->pauseBackgroundMusic();
slider->setEnabled(false );
userDefualt->setBoolForKey("yinyue", false);
userDefualt->flush();
break;
default:
break;
}
});
yinliang = userDefualt->getIntegerForKey("yinxiao");
//设置slider背景图片 (红色箭头所指的图)
slider->loadBarTexture("Slider_Back.png");
//设置slider滑动按钮图片 (粉色箭头所指的图)
slider->loadSlidBallTextures("SliderNode_Disable.png");
//设置slider进度图片 (黄色箭头所指的图)
slider->loadProgressBarTexture("Slider_PressBar.png");
slider->setScale(0.5);
slider->setMaxPercent(10);
slider->setPercent(yinliang);//slider滑动位置设置
slider->setPosition(Vec2(260, 170));
widget->addChild(slider);
slider->addEventListener([=](Ref*sender,Slider::EventType type)
{
if (type==Slider::EventType::ON_PERCENTAGE_CHANGED)
{
Slider *slider=dynamic_cast<Slider*>(sender);
int percet=slider->getPercent();
//设置音量 setBackgroundMusicVolume(percet*0.1);参数最后为0-1
// setMaxPercent(10); 10 *0.1=1
SimpleAudioEngine::getInstance()->setBackgroundMusicVolume(percet*0.1);
userDefualt->setIntegerForKey("yinxiao",percet);
userDefualt->flush();
}
});
auto button10=Button::create("ok.png");
button10->setPosition(Vec2(240, 100));
button10->setScale(0.6);
widget->addChild(button10);
button10->addClickEventListener([=](Ref*){
widget->removeFromParentAndCleanup(true);
});
});