cocos2dx 钢琴
时间:2022-05-03
本文章向大家介绍cocos2dx 钢琴,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
#include "PianoScene.h"
#include "SimpleAudioEngine.h"
USING_NS_CC;
Scene* Piano::createScene()
{
Scene* scene = Scene::create();
Piano* layer = Piano::create();
scene->addChild(layer);
return scene;
}
bool Piano::init()
{
if (!Layer::init())
return false;
auto size = Director::getInstance()->getVisibleSize();
CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect("1.mp3");
auto button1 = MenuItemImage::create("button1.png", "button2.png", this, SEL_MenuHandler(&Piano::note1));
button1->setAnchorPoint(Vec2(0, 0));//锚点改为左下角
button1->setScaleX(size.width * 0.8 / 80 / 7);
button1->setScaleY(size.height / 360);
auto menu1 = Menu::create();
menu1->setAnchorPoint(Vec2(0, 0));//锚点改为左下角
menu1->addChild(button1);
menu1->setPosition((1-1)*size.width/7,0);
addChild(menu1);
CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect("2.mp3");
auto button2 = MenuItemImage::create("button1.png", "button2.png", this, SEL_MenuHandler(&Piano::note2));
button2->setAnchorPoint(Vec2(0, 0));//锚点改为左下角
button2->setScaleX(size.width * 0.8 / 80 / 7);
button2->setScaleY(size.height / 360);
auto menu2 = Menu::create();
menu2->setAnchorPoint(Vec2(0, 0));//锚点改为左下角
menu2->addChild(button2);
menu2->setPosition((2 - 1)*size.width / 7, 0);
addChild(menu2);
CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect("3.mp3");
auto button3 = MenuItemImage::create("button1.png", "button2.png", this, SEL_MenuHandler(&Piano::note3));
button3->setAnchorPoint(Vec2(0, 0));//锚点改为左下角
button3->setScaleX(size.width * 0.8 / 80 / 7);
button3->setScaleY(size.height / 360);
auto menu3 = Menu::create();
menu3->setAnchorPoint(Vec2(0, 0));//锚点改为左下角
menu3->addChild(button3);
menu3->setPosition((3 - 1)*size.width / 7, 0);
addChild(menu3);
CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect("4.mp3");
auto button4 = MenuItemImage::create("button1.png", "button2.png", this, SEL_MenuHandler(&Piano::note4));
button4->setAnchorPoint(Vec2(0, 0));//锚点改为左下角
button4->setScaleX(size.width * 0.8 / 80 / 7);
button4->setScaleY(size.height / 360);
auto menu4 = Menu::create();
menu4->setAnchorPoint(Vec2(0, 0));//锚点改为左下角
menu4->addChild(button4);
menu4->setPosition((4 - 1)*size.width / 7, 0);
addChild(menu4);
CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect("5.mp3");
auto button5 = MenuItemImage::create("button1.png", "button2.png", this, SEL_MenuHandler(&Piano::note5));
button5->setAnchorPoint(Vec2(0, 0));//锚点改为左下角
button5->setScaleX(size.width * 0.8 / 80 / 7);
button5->setScaleY(size.height / 360);
auto menu5 = Menu::create();
menu5->setAnchorPoint(Vec2(0, 0));//锚点改为左下角
menu5->addChild(button5);
menu5->setPosition((5 - 1)*size.width / 7, 0);
addChild(menu5);
CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect("6.mp3");
auto button6 = MenuItemImage::create("button1.png", "button2.png", this, SEL_MenuHandler(&Piano::note6));
button6->setAnchorPoint(Vec2(0, 0));//锚点改为左下角
button6->setScaleX(size.width * 0.8 / 80 / 7);
button6->setScaleY(size.height / 360);
auto menu6 = Menu::create();
menu6->setAnchorPoint(Vec2(0, 0));//锚点改为左下角
menu6->addChild(button6);
menu6->setPosition((6 - 1)*size.width / 7, 0);
addChild(menu6);
CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect("7.mp3");
auto button7 = MenuItemImage::create("button1.png", "button2.png", this, SEL_MenuHandler(&Piano::note7));
button7->setAnchorPoint(Vec2(0, 0));//锚点改为左下角
button7->setScaleX(size.width * 0.8 / 80 / 7);
button7->setScaleY(size.height / 360);
auto menu7 = Menu::create();
menu7->setAnchorPoint(Vec2(0, 0));//锚点改为左下角
menu7->addChild(button7);
menu7->setPosition((7 - 1)*size.width / 7, 0);
addChild(menu7);
return true;
}
void Piano::note1(cocos2d::Ref*)
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("1.mp3");
}
void Piano::note2(cocos2d::Ref*)
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("2.mp3");
}
void Piano::note3(cocos2d::Ref*)
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("3.mp3");
}
void Piano::note4(cocos2d::Ref*)
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("4.mp3");
}
void Piano::note5(cocos2d::Ref*)
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("5.mp3");
}
void Piano::note6(cocos2d::Ref*)
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("6.mp3");
}
void Piano::note7(cocos2d::Ref*)
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("7.mp3");
}
- Mybatis XML 映射配置文件 -- 熟悉配置
- Mybatis 入门 -- 最简单的引入和使用
- sqlite - java 初学
- Tomcat创建HTTPS访问,java访问https
- AWS CLI使用s3
- Linux中mongodb安装和导出为json
- git取消跟踪文件
- spring-boot - demo
- Mybatis - 动态sql
- git版本回退, github版本回退
- Mybatis高级查询之关联查询
- Mybatis-update - 数据库死锁 - 获取数据库连接池等待
- 使用Apache Server 的ab进行web请求压力测试
- Spring-AOP实践 - 统计访问时间
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP设计模式之适配器模式(Adapter)原理与用法详解
- laravel5.5框架的上传图片功能实例分析【仅传到服务器端】
- Laravel5.1框架自带权限控制系统 ACL用法分析
- php使用filter_var函数判断邮箱,url,ip格式示例
- Python json格式化打印实现过程解析
- PHP使用DOM对XML解析处理操作示例
- OpenCV Python实现图像指定区域裁剪
- Laravel框架实现多个视图共享相同数据的方法详解
- python如何快速生成时间戳
- 从python读取sql的实例方法
- PHP+iframe模拟Ajax上传文件功能示例
- Centos7 Yum安装PHP7.2流程教程详解
- PHP session垃圾回收机制实例分析
- thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
- Python常用库Numpy进行矩阵运算详解