游戏逻辑的进--音乐游戏歌曲bpm算法。

cs3230524 2009-09-12 11:55:48
最近搞一个音乐游戏。由于完全没有设计经验。所以不知道一首歌曲的速度节奏是否取决于它的bpm?
如果是的话,请问2分音符多少bpm等于一秒?毕竟程序只认秒。还有如何根据bpm分配游戏按键音符?

有人弄过吗?分享一下。谢谢。
...全文
1450 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
cs3230524 2009-10-10
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 harryfin 的回复:]
你首先要明白什么叫BPM...

BPM = Beat Per Minute  每分钟节拍数
[/Quote]
这还用你说?

ok。已经解决了。没有用的bpm那么麻烦的东西。我直接在游戏运行里进行编谱。每秒60帧。然后存入数组后序列化,用的时候再读出来就是了。不过这样就要要求谱曲的人有很好的乐感。不过这也不失为一种方法。

过几天发给大家玩玩。

谢谢大家。
Harryfin 2009-09-22
  • 打赏
  • 举报
回复
你首先要明白什么叫BPM...

BPM = Beat Per Minute 每分钟节拍数
renyaochun 2009-09-22
  • 打赏
  • 举报
回复
又想了想~有些不全面~本来谱子长度就是因为BPM和曲子长度定下来的~上面的谱子总长度需要计算


BPM=每分钟拍子数 BPM/60=每秒钟拍子数
曲子长度(单位秒)/(BPM/60)=总共拍子数(单位拍)
总共拍子数*一个箭头的高度=谱子图像的总高度(单位像素)


当然后台肯定不会真的把谱子做成一个图像去卷轴~应该还是每一个箭头在固定时间出现~把卷轴速度和谱子图像长度求出来的话~这些都不是问题了
renyaochun 2009-09-22
  • 打赏
  • 举报
回复
另外谱子的长度单位应该从像素扩展一下~比如单位是“十分之一像素”~这样在速度经过除法运算后不会因为单位太大产生错误
renyaochun 2009-09-22
  • 打赏
  • 举报
回复
音乐游戏我还算比较了解~不过我也是乐盲~一般BPM300就到极限了~当然不排除更高的~


DDR(跳舞机)的做法是~每个箭头都是正方形~整拍整拍之间是无间距对齐~4分音是音符交错一半~8分音交错4分之1~我玩DDR的时候不明白为什么半交错都叫做4分音~我感觉应该是2分音~DDR里最极限的有32分音-_-b



这样一首歌下来~就会有一个以图像为形式的谱子~在歌曲播放的时候不断向上滚动~
歌曲时间*每秒帧数=歌曲总时间(单位是帧)~
谱子总长度(单位是像素)/歌曲总时间(单位是帧)=谱子播放时的卷轴速度(像素/帧)~


当然必须是固定帧率渲染了~每秒定死60帧吧



不过要怎么和歌曲做同步~以及怎么做编辑器~估计要和懂音乐的交流了.......
gumbour 2009-09-15
  • 打赏
  • 举报
回复
曲子类型 每分钟拍数
广板 46
慢板 52
柔板 56
行板 66
小行板 69
中板 88
小快板 108
快板 132
急板 184

上面是常见的节拍速度,一首曲子一般会在曲谱上标注节拍速度或者是演奏时间。
用秒是肯定不行的,甚至GetTickCount都不行,要做的好必须用高精度定时器,碰到八分之一拍,十六分之一拍的调子,时间精度低专家一听就听出来了。


音乐游戏确实需要对音乐比较了解,楼主还是先看看音乐基础知识吧,其实也不难。

xingzhe2001 2009-09-15
  • 打赏
  • 举报
回复
我想象有用五个指头按,所以有5个数组呵呵。
cs3230524 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xingzhe2001 的回复:]
我的话根据MIDI生成5个数组存放掉落的音符和时间,然后每帧看时间到不到,到了就往下掉。
[/Quote]

为啥要5个数组?每帧?快了吧?我觉得每什么节奏超过1秒8拍的吧。那岂不是还要写一个软件用来编辑音符?汗。。。我的问题基本都是你解决的。出个招吧。
cs3230524 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gumbour 的回复:]
曲子类型 每分钟拍数
广板    46
慢板    52
柔板    56
行板    66
小行板  69
中板    88
小快板  108
快板    132
急板    184

上面是常见的节拍速度,一首曲子一般会在曲谱上标注节拍速度或者是演奏时间。
用秒是肯定不行的,甚至GetTickCount都不行,要做的好必须用高精度定时器,碰到八分之一拍,十六分之一拍的调子,时间精度低专家一听就听出来了。


音乐游戏确实需要对音乐比较了解,楼主还是先看看音乐基础知识吧,其实也不难。


[/Quote]

我还不知道用高精度计时器啊?又不是每首歌速度都一样!软件测出来也不准。现在讨论的是算法!
xingzhe2001 2009-09-14
  • 打赏
  • 举报
回复
我的话根据MIDI生成5个数组存放掉落的音符和时间,然后每帧看时间到不到,到了就往下掉。
张赐 2009-09-14
  • 打赏
  • 举报
回复
这个恐怕要去问搞音乐的了
cs3230524 2009-09-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xingzhe2001 的回复:]
不懂帮顶,乐盲,1个节拍是1秒么?
[/Quote]

2分音符1节拍应该是2拍一秒吧。。。我也是乐盲。。哎。看来游戏还真的是不好搞。
如果是你的话,准备如何给一首歌曲定制向下掉落的音符?用时间吗?精确到多少秒?哎呀。头痛了。
xingzhe2001 2009-09-14
  • 打赏
  • 举报
回复
不懂帮顶,乐盲,1个节拍是1秒么?
profuns 2009-09-13
  • 打赏
  • 举报
回复
等待高手..

8,324

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧