用cocos2dx3.1的MenuItemToggle写一个会跳动音乐开关按钮
来源:互联网 发布:生产进销存软件免费版 编辑:程序博客网 时间:2024/05/20 11:23
第一步:
在.h文件中声明三个全局变量,和一个菜单的回调函数即:
MenuItemImage* musicon;
MenuItemImage* musicoff;
MenuItemToggle* h;
void music(Ref* pSender);
第二步:
到.cpp文件中初始化那三个全局变量:
musicon = MenuItemImage::create("musicon.png", "musicon.png");
musicoff = MenuItemImage::create("musicoff.png", "musicoff.png");
然后组合一下这两个按钮:
h = MenuItemToggle::createWithCallback(CC_CALLBACK_1(HelloWorld::music, this), musicon, musicoff, NULL);
h->setPosition(visibleSize/2);
//这一步是可以让按钮在播放音乐时显示musicon,关闭音乐时显示的是musicoff
if(SimpleAudioEngine::getInstance()->isBackgroundMusicPlaying())
{
h->setSelectedIndex(0);
}
else{
h->setSelectedIndex(1);
}
第三步:把它加到菜单里:
Menu* menu = Menu::create(h, NULL);
menu->setPosition(Vec2::ZERO);
addChild(menu);
最后,在写一下这个音乐按钮的回调函数:
{
MenuItemToggle* h = (CCMenuItemToggle *)pSender;
SimpleAudioEngine::getInstance()->playBackgroundMusic("7651.mp3", true);
UserDefault::getInstance()->setBoolForKey("musicOff", false);
else if (h->selectedItem() == musicoff) {
SimpleAudioEngine::getInstance()->pauseBackgroundMusic();
UserDefault::getInstance()->setBoolForKey("musicOff", true);
}
}
到这里这个按钮还不可以跳动,接下来就告诉你该怎么做。
第一步:在.h文件中重载系统的update函数:
int i;
virtual void update(float t);
第二步:在.cpp文件中写update函数:
i++;
//表示3秒跳动一次
if (i%180==0) {
auto mo = MoveTo::create(0.5, Vec2(h->getPosition().x, h->getPosition().y + 30));
auto mo2 = MoveTo::create(0.5, Vec2(h->getPosition().x, h->getPosition().y ));
auto mo3 = MoveTo::create(0.3, Vec2(h->getPosition().x, h->getPosition().y + 15));
auto mo4 = MoveTo::create(0.3, Vec2(h->getPosition().x, h->getPosition().y ));
Sequence* act = Sequence::create(mo, mo2 ,mo3,mo4,NULL);
h->runAction(act);
}
最后的最后在init()方法里加上scheduleUpdate()就可以了。
最后要提醒的是要播放音乐要加上SimpleAudioEngine.h这个头文件和using namespace CocosDenshion
- 用cocos2dx3.1的MenuItemToggle写一个会跳动音乐开关按钮
- Cocos2d-x MenuItemToggle 实现开关按钮
- 用纯CSS写一个左右滑动的开关按钮
- css3写导入跳动的音乐
- 写一个跳动的心lua
- 会跳动的图片
- 会跳动的心
- 会跳动的日历
- 设计一个开关样式的双项单选按钮。
- 怎样实现一个潮流的开关按钮
- 用css做一个跳动的心
- 音乐播放器中的跳动的平衡器
- 音乐播放时跳动的音符
- H5实现跳动的音乐谱
- 双控开关的原理-----两个开关独立控制一个灯泡,装修会用得的哦
- MenuItemToggle的使用
- MenuItemToggle的使用
- C++|一个跳动的爱心
- Lesson02_C#基础_part04
- 文件命令行参数
- JSTL和EL表达式字符串比较
- 《农历算法》
- 限制玻尔兹曼机
- 用cocos2dx3.1的MenuItemToggle写一个会跳动音乐开关按钮
- 1999 ICPC WF C Morse Mismatches 【模拟】
- 《leetCode》:Pow(x, n)
- 51nod 1087 前缀和 STL lower_bound
- HDU 6105 Gameia(思维博弈)
- 2017.8.11个人感悟
- read系统调用剖析
- Spring 4 依赖注入
- Ananagrams