【GameMaker】音乐可视化

文章介绍了如何在GameMaker中通过自定义扩展AwesomeAudioVisualization来实现音乐可视化,该扩展能读取音乐并生成绘制可视化的数据。在Create事件中播放和加载音乐,然后在Draw事件中获取音乐位置和长度,设置FFT_SIZE以影响数据变化速度,并绘制音频数据。扩展支持多种音频格式,但不包括MP3。
摘要由CSDN通过智能技术生成

音乐可视化是乐曲与图像的碰撞

在GameMaker中实现音乐可视化的最佳途径是使用扩展。

我制作了一个扩展:Awesome Audio Visualization​​​​​​

这个扩展可以读取音乐并输出绘制可视化所需的数据。

安装完扩展以后,代码所示如下:

// - Create 事件
// 播放音乐
Sound = audio_play_sound(example_music,0,1)
// 加载音乐
DataID = mv_load(@"example_music.ogg")

// - Draw 事件
// 获取音乐位置
var nowSeconds = audio_sound_get_track_position(Sound)
// 获取音乐总长度
var totalSeconds = audio_sound_length(Sound)
// 设置 FFT_SIZE
// 这个数值越小,数据变化的越快。
var fft_size = 2048

// 获取音频可视化数据
var Data = mv_get_data(DataID,nowSeconds,totalSeconds,fft_size*2)

// 绘制数据
for(var i = 0;i < 80;i++){
    var length = Data[int64(fft_size/81*i)] * 2 // 获取每一条线的长度
    draw_line_width(room_width/80 * i,0,room_width/80 * i,length,5)
}

 这个扩展支持你能想到的几乎所有格式:除了MP3。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值