今天突发奇想,想搞个小游戏玩玩,就那种根据声音大小来控制跳跃的,你们懂?就是那种对着手机吼,然后游戏里的小人就跟着跳的那种,感觉挺有意思的。
动手前的准备
一开始也挺懵的,不知道从哪下手。就在网上搜“声音高低跳的游戏”、“声控游戏”之类的关键词,想看看有没有现成的例子可以参考。还真别说,找到不少相关的游戏,像什么《尖叫大冒险》、《声控跳一跳》、《声控音符》,还有个叫《不要停八分音符酱》的,听名字就觉得魔性。
看看这些游戏的介绍,大概明白是怎么个玩法:就是通过麦克风获取你声音的大小,然后把声音大小转换成游戏里角色跳跃的高度或者距离。 声音越大,跳得越高;声音持续时间越长,跳得越远。有些游戏还特别逗,需要你发出特定的声音,或者干脆就让你“”地乱叫。
摸索实践过程
我寻思着,这原理应该不难?不就是获取声音,然后判断大小嘛于是我就开始动手尝试。
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
-
第一步,获取声音。 这块我一开始还真没搞明白,后来查资料才知道,手机上都有麦克风,可以通过一些工具或者代码来获取麦克风收到的声音数据。
-
第二步,判断声音大小。 获取到声音数据后,下一步就是判断声音的大小。这个就是把声音数据转换成一个数值,数值越大,表示声音越大。
-
第三步,控制角色跳跃。 拿到声音大小的数值,就可以用这个数值来控制游戏里角色的跳跃。比如,可以设置一个跳跃高度的公式,把声音大小的数值代进去,算出一个跳跃高度,然后让角色按照这个高度跳起来。
遇到的坑和解决
实际做起来也没那么简单,还是遇到一些坑的。比如说:
- 一开始不知道怎么获取声音数据,搞半天才弄明白。
- 声音大小的数值不太稳定,有时候大有时候小,导致角色跳跃的高度忽高忽低,跳起来特别鬼畜。
后来我尝试对声音数据做一些处理,比如取一段时间内的平均值,或者加一些平滑处理,让声音大小的数值变化得更平缓一些,这样角色的跳跃就看起来更自然。
最终实现的效果
经过一番折腾,总算是把这个小游戏给做出来!虽然很简单,就是一个小方块根据你的声音大小跳来跳去,但还挺有成就感的。玩的时候对着手机一顿乱吼,小方块也跟着上蹿下跳,还挺解压的。以后有时间再继续完善一下,加点障碍物、道具什么的,应该会更有意思。
这回的实践也让我学到不少东西,下次再想搞什么小玩意儿的时候,应该会更有经验。