基于Android的跃动旋律音游app的设计与实现

(整期优先)网络出版时间:2022-07-28
/ 2

基于Android的跃动旋律音游app的设计与实现

王雨馨,郑娜

山东协和学院计算机学院 山东 济南 250107

摘要:在人类生活对休闲娱乐的渴求下,游戏不断发展,音乐游戏也像一株大树一般发展出各个方面的枝丫。如今,它早已不仅仅局限于最初的按键演奏这种简单的游戏模式,而是吸收融入了各种可以适用于自己的元素。但是,无论如何创新与发展,音乐游戏也永远离不开构筑起最初的它的两大根源:旋律、节奏。本文将阐述基于Android平台设计一个简单的音乐游戏,取名为“跃动旋律”,以按键节奏为基础,开发出简单易懂、可玩性高的休闲互动游戏,让人们在工作学习之余享受游戏的快乐。

关键字:音乐游戏;休闲互动

1.引言

随着人们生活质量不断提高,劳逸结合的工作方式日渐普及,大家除了规律的工作和学习以外,也不得疏忽劳逸的“逸”带来的益处。选择一款核心玩法舒适、画面音效精美、品质高端优良的游戏,已经成为了人们日常生活中一种流行的休闲方式。以Android系统为平台,依托智能手机的硬件优势,为玩家们打造一款在界面与功能上都较为突出优秀的游戏,使玩家们在畅享音乐的同时,保持轻松愉快的好心情,活在当下,赢在未来。

2.开发环境介绍

2.1  Android Stuodio开发工具

Android Studio是一个安卓系统集成开发工具,用于安卓系统方面的集成开发和调试,提供了更多可以提高构建效率的功能。

2.2  Gradle构建工具

Gradle构建工具的配置文件是一个Groovy脚本文件,通过它我们可以在其当中以编程的方式完成自定义一些构建任务。因为使用了编程的方式,所以拥有极大的灵活性和便捷性。

2.3  AVD Manager

AVD Manager是一个Android系统的虚拟驱动管理器,主要用来在Android Studio开发工具中创建Android模拟器。

2.4  JAVA编程语言

Java是一种通用的、基于类的、面向对象的编程语言。把人们的要求用Java编程语言表达出来,计算机完成识别后按照要求运行相应的指令,便是使用Java语言来进行编程。

3.系统分析

3.1  前台功能分析

玩家是系统的使用者,前台便是玩家进行游戏的运行平台。前台的功能如下:

(1)开始游戏:玩家启动游戏时会进入游戏的主页面,首次启动游戏的玩家在点击“开始游戏”按钮后,系统会弹出是否允许该游戏读取内部存储的授权面板,可以选择是否授权。

(2)选择曲目:在玩家授权后,系统便读取玩家的手机内存呈现歌单,选择曲目之后正式开始游戏。

(3)模型选择:玩家在歌单页面选择完歌曲后,首先会进入选择模式页面,在此进行基础模式设置,即为游戏的常规设置。

(4)高级设置:点击“高级设置”按钮,将进入一些游戏系统方面的设置,即为本游戏的开发人员选项功能。

(5)游玩过程:分为双轨道模式和四轨道模式,每条轨道都对应着一个能够生成滑块的列表,而每个列表中的滑块都定义了各自的起始位置、滑动路径、起始时间、下落时间、下落动画等属性。在进入四轨道模式游戏页面的同时会将游戏页面跳转至横屏模式。

(6)退出游戏:玩家完成该歌曲的演奏游玩后,可以选择返回主页面再度开始游戏进行第二支歌曲的演奏,或者直接退出游戏关闭程序。

3.2  后台功能分析

后台是系统管理游戏的运行平台,后台的功能如下:

(1)初始化列表:通过适配音乐适配器,初始化音乐列表后将音乐信息传给适配器,从而完成功能定义。

(2)读取内存:玩家首次进入游戏时,系统会弹出是否允许该游戏读取内存的授权面板。通过浏览本地媒体库来获取音频信息,最终通过创建动态列表呈现歌单,完成内存读取。

(3)转换数据流:为了降低音频的失真度,将获取到的音频文件信息进行音频信号的识别,并完成编码与转码,将其转换为能够较好运送传输的数据流。

(4)音频采样:加深对MP3和WAV音频格式和音频文件的结构解析,提取文件的标签头(PrivateInfo类)、扩展标签头、标签尾(PublicInfo类)、数据帧(FrameData类)。

(5)获取频谱:将数据流之中的时域上的信号通过快速傅里叶变换技术转化成频域上的信号,获取频谱信息。

(6)生成节奏点:识别频谱中哪些点上的频率有突然的变化,也可以通过区分音轨筛选人声,或识别伴奏中或许含有的乐器的特定频率区段,有变化的时间点就是节奏点。

(7)设置滑块:初始化滑块后,通过将模式选择中滑块数量和速度的设置信息量产化,结合生成的复数节奏点,开始列表中全部滑块的下落动画,完成滑块对象的设置。

(8)判定触发:按钮将得到在自己所对应的轨道上距离自己最近的一个滑块的位置,并将其与自己所在的位置作出比较,比较的同时会给出每次点击判定的级别。判定的三个级别为best、good和miss,级别在弹出时也有各自的动画效果。

(9)分数结算:系统后台将根据统计本次演奏游玩过程中best、good和miss三项级别各自的数量,来完成最终的分数结算。

4.系统设计

为研究如何设计一个音乐游戏app,在了解和分析了基本理论和特征之后,得出功能需求分析,并以此梳理前台与后台各自执行的功能概念,最终实现这个游戏系统整体的功能设计。系统整体分为主页、歌单、设置与游玩四大模块:主页模块包括开始游戏与退出游戏;歌单模块包括初始化音乐列表、读取内存储文件、将音频转换为数据流和完成音频采样,通过读取手机内存储的音乐,完成曲目的选择与游玩的基础;设置模块包括基础模式设置、选择模型界面、获取频谱信息、生成若干节奏点、开发人员选项;最后的游玩模块为系统的核心模块,包含设置滑块对象、触发方法判定和完成分数结算,系统将根据先前所进行的曲目选择和设置来生成滑块,而玩家根据曲目的节奏点击滑块,拥有畅享顺滑的游玩体验。

5.小结

此次基于Android的跃动旋律音游app的设计与实现,基于Android技术,采用Java编程语言,从系统背景、相关技术介绍、需求分析、系统设计等多个方面进行分析,最后确定了游戏功能架构,完成了系统开发设计。界面设计以满足玩家的视觉体验为主,而功能设计则是在满足游戏已经拥有的基本功能的基础上锦上添花。这款游戏的开发灵感源于我在选择想要去玩的音乐游戏时的一点小小灵感,经过一点一滴的积累,树苗开出花朵。未来,我将继续进行这款游戏功能上的完善,利用不断学习的新技术去解决已经发现的和待发现的问题,使其更加完美,使树苗成长为参天大树,使大家通过它来获取更多的放松与快乐。

参考文献:

[1]孟恬恬.休闲类手游的设计实现与游戏性分析[D].北京印刷学院,2017.

[2]尹京花,王华军.基于Android开发的数据存储[J].数字通信.2012(06)

[3]叶晓静,黄俊伟.基于Android系统的多媒体播放器解决方案[J].现代电子技术.2011(24)

作者简介:王雨馨,女,1999年6月,山东济南,本科,山东协和学院计算机科学与技术(专升本)专业学生,主要研究方向为:计算机应用技术,系统开发等。

指导教师:郑娜,女,硕士,助教,山东协和学院软件工程教研室教师,主要研究方向为web文本数据挖掘、软件工程。