用户:中级编程师853查看:0 回复:4 评论:0 创建时间:2017-12-10T06:11:31
我在做一个作品,是一个节奏游戏。不过我只会把音符放置到随机位置,而我想把音符调整到准确的位置,可这样一来就要放很长的积木了,各位高手能来帮帮我吗?
I桔汁糖浆I这里有一个容易但精确度不太高的方法:
首先新建一个链表,建两个变量,名称分别是a和b
打开录音,放一遍音乐,让玩家把话筒尽量靠近音响
在录音的同时,用重复执行积木和当前音量积木把每0.05秒的音量数据都放入链表之中
歌曲放完,停止记录音量,开始分析数据:把链表中的中位数找出来,即把链表中的数据从大到小排列,然后选择第链表项数除以二的项的数据,用b变量储存这个数据。或者求平均数,链表内所有数据的总和除以链表项数,四舍五入后把数据放入b变量中
接下来就是开始游戏了:在播放音乐的同时每隔0.05秒探测一下链表第一项的数据:如果大于变量中的数,就激活掉落音符的模块,删除链表的第一项,设置a变量为1;当变量为1时,切断探测链表数据模块和掉落音符模块之间的联系,防止音符喵了般掉落,直到探测到链表第一项的数据小于b变量时,设置a变量为0,此时连接两个模块,为下一次音符掉落做准备。然后就是重复以上的步骤
这样只要调整在探测链表数据模块启动时音乐隔多长时间再放,比较省事。
这个方法适合音符响度差别较大的音乐,像那种响度差不多,只有音调变化的音乐,这种方法就比较难探测了。也希望编程猫能够加入探测录音音调的积木,或者直接探测电脑输出音量的数据,这样连话筒都不用了(痴汉状)
你问我为什么我不用这个方法做一个作品?因为我懒啊hhhh
点赞0
评论