同样从CSDN搬过来

  博客开这么久了,就发过一篇很水的文章,一直想写点正式的东西。这次准备开工一个仿其他游戏的简单小游戏,于是开博客把开发过程记录下来。这一系列文章主要讲,我是如何从零开始使用Cocos2d-x制作一款仿《Love Live!学院偶像祭》的音乐游戏的。只模拟Live场景部分,其余功能(如剧情对话,招募等)均不涉及。

  因为我是一边开发一边更新的,所以就不做成太正式的教程了,就是记录一下开发过程,顺便整理自己的思维。

  但是由于勃主毕竟图样,写出来的代码也是图森破,有错误的设计理念、不合理的代码结构等肯定是不可避免的,望各位轻喷,如果可以的话能提点建议,让我向各位长者学习一点人生的经验,那就是最好的。更如果,各位能从这篇文章中学到那么一点点有用的东西的话,那我就非常非常欣慰了。

  虽然我的文章很挫,但是如果有人想转载的话,希望能保留原作者和地址,万分感谢

————————————————————————我是分割线————————————————————————

  这一篇主要分析这个游戏中的元素及其作用,暂时没有涉及到代码部分。

  正文开始前本应该要向大家介绍一下《Love Live!学院偶像祭》这个游戏。不过我寻思,会因为标题点进来的人八成知道什么是“niconiconi”的,所以我不多废话介绍了。针对没有听过,没玩过这个手游的读者,我只放图片的话可能不知所云,所以请看如下视频:

LoveLive玩家自录视频

  看完视频之后大概会对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场景(一)的更多相关文章

  1. 我用Cocos2d-x模拟《Love Live!学院偶像祭》的Live场景(二)

    上一章分析了Live场景中各个元素的作用,这一章开始来分析最关键的部分——打击物件的实现. 上一章放出的视频很模糊,先来看一个清晰版的复习一下:http://www.bilibili.com/vide ...

  2. 我用Cocos2d-x模拟《Love Live!学院偶像祭》的Live场景(四)

    [前言和思路整理] 千呼万唤Shǐ出来!最近莫名被基友忽悠着进舰坑了,加上要肝LL活动,又碰上公司项目紧张经常加班,这一章发得比以往时候来得更晚一些,抱歉啊. 上一章我们实现了BeatObjectMa ...

  3. 我用Cocos2d-x模拟《Love Live!学院偶像祭》的Live场景(五)

    [前言和思路整理] 千呼万唤Shǐ出来!终于到最后一章啦~ 很抱歉这一章卡了那么久才发布.主要原因是家里电脑主板的内存插槽炸了,返厂后这周才收到,平时在公司也基本没什么时间写……再次表示歉意. 上一章 ...

  4. 我用Cocos2d-x模拟《Love Live!学院偶像祭》的Live场景(三)

    [前言和思路整理] 千呼万唤Shi出来啊(好像也没人呼唤),最近公司项目紧,闲暇时间少更得慢,请见谅. 上一章我们分析并实现了打击物件类BeatObject,和它的父节点BeatObjectColum ...

  5. 基于rabbitMQ 消息延时队列方案 模拟电商超时未支付订单处理场景

    前言 传统处理超时订单 采取定时任务轮训数据库订单,并且批量处理.其弊端也是显而易见的:对服务器.数据库性会有很大的要求,并且当处理大量订单起来会很力不从心,而且实时性也不是特别好 当然传统的手法还可 ...

  6. NOIP 模拟 $28\; \rm 遗忘之祭仪$

    题解 \(by\;zj\varphi\) 直接贪心模拟即可,对于每个点,如果它未被覆盖,直接在这覆盖一次. 每个黑点只会被扫一次,所以总复杂度为 \(\mathcal O\rm (nm)\) Code ...

  7. 微软Hololens学院教程-Hologram 230-空间场景建模(Spatial mapping )【微软教程已经更新,本文是老版本】

    这是老版本的教程,为了不耽误大家的时间,请直接看原文,本文仅供参考哦!原文链接:https://developer.microsoft.com/EN-US/WINDOWS/HOLOGRAPHIC/ho ...

  8. 强行在MFC窗体中渲染Cocos2d-x 3.6

    [前言] 把Cocos2dx渲染到另一个应用程序框架中的方法,在2.x时代有很多大神已经实现了,而3.x的做法网上几乎找不着.这两天抽空强行折腾了一下,不敢独享,贴出来供大家参考. [已知存在的问题] ...

  9. [ller必读] LoveLive! 必备技能之 Python Pillow 自动处理截图

    起因 喜欢的歌,静静地听:喜欢的人,远远的看.30天前,就是3月14号,我情不自禁地走近了<LoveLive!学院偶像祭>,这是我的第一张卡片(见下图).第二天也就是3月15日,海未生日了 ...

随机推荐

  1. ant语法和规范

    一.前言: 以前在做JavaEE项目的时候曾经听说过这个名字,但是由于没有用到,所以也没有去学习.最近在研究Android打包的时候,看了下build.xml文件,甚是迷糊,于是学习一下,稍有心得. ...

  2. led.c驱动框架2nd

    led.c: #include <linux/module.h> #include <linux/init.h> #include <linux/fs.h> ; v ...

  3. windows编程:创建DLL

    创建DLL Dll是动态链接库的缩写,可以作为附加代码动态映射到进程的地址空间中. 动态库的一般创建方法如下 方法1.使用 __declspec(dllexport)  方式导出 一般的框架如下 // ...

  4. vs2008安装opencv2.4.6

    最近安装opencv2.4.6,发现犯了一个很愚蠢的错误,在此记录一下. opencv的头文件包含应该位于build文件夹内,而我误将opencv文件夹下的include包含了进去,造成无法找到头文件 ...

  5. jquery全选框的实现

    函数实现的话: head里加入函数实现 <script language="javascript" type="text/javascript"> ...

  6. POJ 1584 A Round Peg in a Ground Hole

    先判断是不是N多边形,求一下凸包,如果所有点都用上了,那么就是凸多边形 判断圆是否在多边形内, 先排除圆心在多边形外的情况 剩下的情况可以利用圆心到每条边的最短距离与半径的大小来判断 #include ...

  7. JMS连接WMQ及收发消息

    因为对JMS的了解也只算入门级,有些概念也很模糊,不过,卤煮会尽可能去介绍的.另外,sample code都调试过可以跑. 1.神马是JMS? jms即Java消息服务(Java Message Se ...

  8. Asp.net Ajax提供PageMethods调用

    页面上的Javascript通过ASP.NET AJAX除了可以调用Web服务类,还可以调用网页中的静态方法. <%@ Page Language="C#" %> &l ...

  9. spring 自动化构建项目

    STS 3.7.0.RELEASE http://spring.io/tools/sts/legacy

  10. IOS之富文本编辑 分类: ios技术 2015-03-06 22:51 89人阅读 评论(0) 收藏

    之前做项目时遇到一个问题:          使用UITextView显示一段电影的简介,由于字数比较多,所以字体设置的很小,行间距和段间距也很小,一大段文字挤在一起看起来很别扭,想要把行间距调大,结 ...