【GameMaker】音乐可视化

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

在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。

posted @ 2025-08-31 08:41  Ceyase  阅读(8)  评论(0)    收藏  举报