我用Cocos2d-x模拟《Love Live!学院偶像祭》的Live场景(一)
同样从CSDN搬过来
博客开这么久了,就发过一篇很水的文章,一直想写点正式的东西。这次准备开工一个仿其他游戏的简单小游戏,于是开博客把开发过程记录下来。这一系列文章主要讲,我是如何从零开始使用Cocos2d-x制作一款仿《Love Live!学院偶像祭》的音乐游戏的。只模拟Live场景部分,其余功能(如剧情对话,招募等)均不涉及。
因为我是一边开发一边更新的,所以就不做成太正式的教程了,就是记录一下开发过程,顺便整理自己的思维。
但是由于勃主毕竟图样,写出来的代码也是图森破,有错误的设计理念、不合理的代码结构等肯定是不可避免的,望各位轻喷,如果可以的话能提点建议,让我向各位长者学习一点人生的经验,那就是最好的。更如果,各位能从这篇文章中学到那么一点点有用的东西的话,那我就非常非常欣慰了。
虽然我的文章很挫,但是如果有人想转载的话,希望能保留原作者和地址,万分感谢
————————————————————————我是分割线————————————————————————
这一篇主要分析这个游戏中的元素及其作用,暂时没有涉及到代码部分。
正文开始前本应该要向大家介绍一下《Love Live!学院偶像祭》这个游戏。不过我寻思,会因为标题点进来的人八成知道什么是“niconiconi”的,所以我不多废话介绍了。针对没有听过,没玩过这个手游的读者,我只放图片的话可能不知所云,所以请看如下视频:
看完视频之后大概会对Live场景有一些粗略的感受。这就是一个跟着歌曲节奏来点击飞过来的物件的游戏。根据触摸的时间判定单个物件的得分,加到总分中。作为手游开发者,你可能没有听说过《劲乐团》,但应该多多少少听说过《节奏大师》。对了,这个游戏的Live部分就和它们很相似。
然后来仔细分析一下Live场景的界面的元素。看看这张截图:
可以看到界面上有这些元素:
● 背景图片
● 上方的当前分数文字栏
● 上方的分数进度条
● 左上方的当前血量进度条
● 中上方的音符图标
● 右上方的暂停按钮
● 正中间的Combo数文字栏
● 正中间的打击判定文字栏
● 九个呈扇形分布的圆形按钮
● 从中上方的音符图标处飞出的各种物件
玩一段时间后我们能知道这些元素的作用。这里不需要大家去花时间了,我直接把作用写在下面:
● 背景图片:
就是个背景图,表示当前Live进行的地点。游戏开始后背景图会变暗,不干扰玩家视线
● 上方的当前分数文字栏:
表示玩家当前的分数。分数增加时会播放一个小特效
● 上方的分数进度条:
表示玩家当前分数能得到什么档次的评分。根据得分高低,从低到高有“C”,“B”,“A”,“S”五个档次(感谢 这并没有什么琴梨用 指出错误,得分低于C时没有评分而不是失败)
● 左上方的当前血量进度条:
表示玩家当前的体力值。当用户打出Bad或Miss判定,以及带有星星的物件打出Good判定时会扣除体力值。体力值变为0时游戏结束,玩家得到“Live失败”的评分
● 中上方的音符图标:
就是一动画。动画播放速度和歌曲节奏速度无关
● 右上方的暂停按钮:
点击后游戏暂停,弹出面板,用户可以选择“继续Live”,“回到主界面”或“重新开始”(图中没有)
● 正中间的Combo数文字栏:
表示玩家已经保持Perfect或Great判定连续打击了多少个物件
● 正中间的打击判定文字栏:
表示玩家上一次打击的判定结果。判定标准是玩家按下去的时间和物件飞到圆形按钮上的时间的差值大小。从低到高分别是:“Miss(如果在规定时间内没有按才出)”,“Bad”,“Good”,“Great”和“Perfect”。判定结果出现短暂时间后会渐隐消失,直到下次打击
● 九个呈扇形分布的圆形按钮:
接受玩家触摸的按钮。玩家只有点击这些按钮才会触发判定流程
● 从中上方的音符图标处飞出的各种物件:
跟着节奏飞出的物件。物件出现时间保存在脚本中,每次选择同一首歌的同一个难度,物件飞出顺序不变。如果同一时刻飞出了两个物件,则物件上多一条横条表示需要一起按。飞出的物件又分为两种类型:
◇ 圆圈:
圆圈飞到按钮上时,玩家需要点一下按钮
◇ 长条:
长条的头端飞到按钮上时,玩家需要按住按钮,直到长条的尾端飞到按钮上时,松开手指。长条的头和尾都会触发判定。如果中途松开手指,第二个直接判定为Miss
还有一些不可见的元素:
● 歌曲:
不用多说吧?
● 打击音效:
判定触发后,根据判定的结果会播放不同的音效
于是,大致能够规划出游戏的框架图:
这一章差不多就这样,对游戏本身有个大致的了解就行。下一章讲物件的代码实现。不出意外的话明晚可以发布。
我用Cocos2d-x模拟《Love Live!学院偶像祭》的Live场景(一)的更多相关文章
- 我用Cocos2d-x模拟《Love Live!学院偶像祭》的Live场景(二)
上一章分析了Live场景中各个元素的作用,这一章开始来分析最关键的部分——打击物件的实现. 上一章放出的视频很模糊,先来看一个清晰版的复习一下:http://www.bilibili.com/vide ...
- 我用Cocos2d-x模拟《Love Live!学院偶像祭》的Live场景(四)
[前言和思路整理] 千呼万唤Shǐ出来!最近莫名被基友忽悠着进舰坑了,加上要肝LL活动,又碰上公司项目紧张经常加班,这一章发得比以往时候来得更晚一些,抱歉啊. 上一章我们实现了BeatObjectMa ...
- 我用Cocos2d-x模拟《Love Live!学院偶像祭》的Live场景(五)
[前言和思路整理] 千呼万唤Shǐ出来!终于到最后一章啦~ 很抱歉这一章卡了那么久才发布.主要原因是家里电脑主板的内存插槽炸了,返厂后这周才收到,平时在公司也基本没什么时间写……再次表示歉意. 上一章 ...
- 我用Cocos2d-x模拟《Love Live!学院偶像祭》的Live场景(三)
[前言和思路整理] 千呼万唤Shi出来啊(好像也没人呼唤),最近公司项目紧,闲暇时间少更得慢,请见谅. 上一章我们分析并实现了打击物件类BeatObject,和它的父节点BeatObjectColum ...
- 基于rabbitMQ 消息延时队列方案 模拟电商超时未支付订单处理场景
前言 传统处理超时订单 采取定时任务轮训数据库订单,并且批量处理.其弊端也是显而易见的:对服务器.数据库性会有很大的要求,并且当处理大量订单起来会很力不从心,而且实时性也不是特别好 当然传统的手法还可 ...
- NOIP 模拟 $28\; \rm 遗忘之祭仪$
题解 \(by\;zj\varphi\) 直接贪心模拟即可,对于每个点,如果它未被覆盖,直接在这覆盖一次. 每个黑点只会被扫一次,所以总复杂度为 \(\mathcal O\rm (nm)\) Code ...
- 微软Hololens学院教程-Hologram 230-空间场景建模(Spatial mapping )【微软教程已经更新,本文是老版本】
这是老版本的教程,为了不耽误大家的时间,请直接看原文,本文仅供参考哦!原文链接:https://developer.microsoft.com/EN-US/WINDOWS/HOLOGRAPHIC/ho ...
- 强行在MFC窗体中渲染Cocos2d-x 3.6
[前言] 把Cocos2dx渲染到另一个应用程序框架中的方法,在2.x时代有很多大神已经实现了,而3.x的做法网上几乎找不着.这两天抽空强行折腾了一下,不敢独享,贴出来供大家参考. [已知存在的问题] ...
- [ller必读] LoveLive! 必备技能之 Python Pillow 自动处理截图
起因 喜欢的歌,静静地听:喜欢的人,远远的看.30天前,就是3月14号,我情不自禁地走近了<LoveLive!学院偶像祭>,这是我的第一张卡片(见下图).第二天也就是3月15日,海未生日了 ...
随机推荐
- mysql distinct、group_concat
mysql distinct语句用于查询多条不重复记录值(去重.过滤多余的重复记录) distinct同时作用了两个字段或者两个以上的字段,必须得作用了的字段都相同的才被排除.如果想让单个列" ...
- Codeforces Round #367 (Div. 2)D. Vasiliy's Multiset (字典树)
D. Vasiliy's Multiset time limit per test 4 seconds memory limit per test 256 megabytes input standa ...
- mysql安装使用--2 用户管理
1 修改mysql.user表 添加用户 mysql> INSERT INTO mysql.user (Host,User,Password) VALUES (\'%\',\'system\', ...
- mysql优化---第7篇:参数 innodb_buffer_pool_instances设置
摘要:1 innodb_buffer_pool_instances可以开启多个内存缓冲池,把需要缓冲的数据hash到不同的缓冲池中,这样可以并行的内存读写. 2 innodb_buffer_pool_ ...
- phpstrom 快捷键
常用的PHPStorm快捷键:ctrl+j 插入活动代码提示ctrl+alt+t 当前位置插入环绕代码alt+insert 生成代码菜单ctrl+q 查看代码注释ctrl+d 复制当前行ctrl+y ...
- angularJS 系列(一)
angularJS 中 $scope 的原型 和 原型继承之间的细微差别是什么? 参考:http://stackoverflow.com/questions/14049480/what-are-the ...
- CodeForces 660B Seating On Bus
模拟. #include<cstdio> #include<cstring> #include<cmath> #include<vector> #inc ...
- Varnish CentOS 6.4 x64
CentOS 6.4 x64 Varnish 安装配置 Varnish的官方网址为http://varnish-cache.org 首先下载Varnish 稳定版本3.0.3 wget ...
- mysql连接字符集default
用mysql客户端工具输入中文数据报错,或乱码问题解决 数据库字符集为latin1时 用mysql工具,然后选择连接>l连接属性>高级>字符集选择default
- Linux SSL 双向认证 浅解
请求方的操作:此步骤是为了验证CA的发证过程. 1.生成私钥: Openssl genrsa 1024 > private.key 生成私钥并保存到private.key文件中 ...