

当然受到Scratch程序的能力所限,这里将游戏做了简单化的处理。用上下左右箭头来代表《节奏大师》的方块,原本需要左右手移动操作,简化后玩家通过单手按下WSAD键来控制。
游戏中小陈老师只绘制了三条轨道,你可以在源程序的基础上添加更多轨道,轨道数量越多难度越大。
在屏幕下方有一条判定线,要求玩家要在箭头通过判定线时接住下落的箭头,获得五分;如果箭头超出了判定线碰到了屏幕边缘,那么扣五分。
轨道绘制在舞台背景中,游戏角色只有判定线和箭头。箭头角色需要在造型中绘制四种不同方向不同颜色的箭头,并通过编号区分。设置两个变量“分值”“速度”用于统计与记录。
游戏开始,将分值设置为0,并且将箭头进行隐藏,根据轨道的数量控制箭头起始位置与间隔位置確定X的计算公式,间隔位置视箭头大小和轨道间距调整。这里我设置了每隔0.5秒下落(克隆一次),玩家可以根据玩游戏的手感调整箭头下降的速度(图2)。

产生1-4之间的随机数确定箭头造型,显示箭头。
游戏判定部分,我们需要针对上下左右箭头做四个判断。以左箭头为例,要比对键盘按键是a键,造型编号为1,且在按下键盘时碰到了判定线,如果符合要求玩家加五分。箭头虚化特效增加20循环5次,形成一种消失的效果。当箭头超出判定线后碰到舞台边缘,则表示玩家未接住箭头则扣五分,还可以增加如分值低到一定的程度直接结束游戏的处罚。其他三个方向代码类似,不再赘述(图3)。

箭头降落的速度会随着分值的增加越来越快,默认降落速度是5(图4)。

我们已经完成游戏的基本功能,在调试通过后,加入游戏背景音乐。创建一个链表来存储音符,新建变量每按中一个箭头就将这个变量增加1,通过音乐模块弹奏链表里对应变量编号的音符,就可以实现真正的演奏了。偷懒的话直接添加一条音乐片段循环播放即可。
游戏体验感还是非常不错的,后期大家还可以在此基础上添加更多的小功能,比如说增加一些金币或者红包降落或者加速冲刺等功能,期待大家提出更多的想法。