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

同样从CSDN搬过来

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

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

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

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

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

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

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

LoveLive玩家自录视频

  看完视频之后大概会对Live场景有一些粗略的感受。这就是一个跟着歌曲节奏来点击飞过来的物件的游戏。根据触摸的时间判定单个物件的得分,加到总分中。作为手游开发者,你可能没有听说过《劲乐团》,但应该多多少少听说过《节奏大师》。对了,这个游戏的Live部分就和它们很相似。

  然后来仔细分析一下Live场景的界面的元素。看看这张截图:

我用Cocos2d-x模拟《Love 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场景(一)

上一篇:90% 的 Java 程序员都说不上来的为何 Java 代码越执行越快(1)- JIT编译优化


下一篇:[IOS]《A Swift Tour》翻译(一)