摘 要:
别踩白块儿游戏是一款非常好玩的游戏。游戏课程设计提供了游戏的说明,设计者的简介,游戏功能的实现。游戏中实现音效,动画。
关键词:音乐,动画,功能
一、概述
《别踩白块儿 Don’t Tap The WhiteTile》是由 Umoni Studio (Umoni Entertainment Limited 的前身) “制作的一款休闲益智游戏。游戏于2014年4月16日上线App Store。并在全球40多个国家、地区免费游戏榜登顶榜首 ,超过一百个国家或地区排名前十,5月份荣登全球游戏下载总榜(iOS + Android)第一宝座,游戏上线3个月累计下载达1亿 。
《别踩白块儿 Don’t Tap The White Tile》是一款非常耐玩的休闲益智游戏,别踩白块儿,这就是这个游戏唯一的一个规则。游戏简单易上手,这个游戏唯一的一个规则,我们只需要不断踩着黑色方块前进即可,很简单吧?谁都可以会玩,但并不是谁都能玩得很好噢,你呢?快来挑战看看吧!
点击运行游戏进入游戏的主界面,这时你就会听到游戏开始的欢快音乐。主界面有设置按钮,退出游戏按钮,play按钮,关于游戏按钮。点击play按钮开始玩游戏,玩游戏的时候你会听到另一首音乐,伴随着游戏的进行,设置了计时,可以检验你玩游戏的厉害程度哦!点击关于我们会出来我们课设的组成员以及分工;关于游戏是有关游戏的说明。
二、目录
1)主界面
1开始按钮,结束按钮,游戏设置按钮
2动画
2)游戏设置界面
音效按钮,音乐按钮,新手教程按钮,关于我们按钮
3)新手教程
4)关于我们
5)音乐背景
6)游戏开始代码
7)黑白块代码
8)游戏计时代码
三、游戏代码详解
1)主界面
1开始按钮,结束按钮,游戏设置按钮
在cocostudio上制作场景界面
搜集一张别踩百块的背景图,用ps制作一张你想要的开始按钮,结束按钮,游戏设置按钮的图片,以及别踩百块四个字
代码如下:
//添加设置界面点击
btnOption = static_cast<Button *>(Helper::seekWidgetByName(static_cast<Layout *>(SysMenu), "btnOption"));
btnOption->addTouchEventListener(CC_CALLBACK_2(GameMenu::showOption, this));
//开始按钮
start = static_cast<Button *>(Helper::seekWidgetByName(static_cast<Layout *>(SysMenu), "btnStart"));
start->addTouchEventListener(CC_CALLBACK_2(GameMenu::showStart, this));
void GameMenu::showOption(Ref *pSender, Widget::TouchEventType type) {
if (type == Widget::TouchEventType::ENDED) {
auto menusetting = GameSetting::create();
addChild(menusetting);
}
}
void GameMenu::showStart(Ref *pSender, Widget::TouchEventType type) {
if (type == Widget::TouchEventType::ENDED) {
auto menusetting = GameStart::create();
addChild(menusetting);
}
}
○2动画
用cocostudio使别踩百块四个字动起来
代码如下:
//设置主界面以及其动画
auto SysMenu = CSLoader::createNode("menu.csb");
addChild(SysMenu);
//别踩白块动态
auto aniEnterGame = CSLoader::createTimeline("menu.csb");
SysMenu->runAction(aniEnterGame);
aniEnterGame->gotoFrameAndPlay(0, 60,false);
2)游戏设置界面
○1音效按钮,音乐按钮,新手教程按钮,关于我们按钮
size = Director::getInstance()->getVisibleSize();
menuSetting = CSLoader::createNode("menuSetting.csb");
addChild(menuSetting);
//设置
menuSetting->setAnchorPoint(Vec2(0.5, 0.5));//位置(锚点)
menuSetting->setPosition(Vec2(-200,size.height/2));
auto show = MoveTo::create(0.5, size / 2);
menuSetting->runAction(EaseBackInOut::create(show));
//音乐播放按钮
btnSound = static_cast<Button *>(Helper::seekWidgetByName(static_cast<Layout *>(menuSetting), "btnSound"));//音乐音效按钮
busing = static_cast<Button *>(Helper::seekWidgetByName(static_cast<Layout *>(menuSetting), "busing"));//音乐按钮
//关闭按钮
btnClose = static_cast<Button *>(Helper::seekWid