本文产生内容目前在于构想中!游戏完成度20%!(后面有截图,游戏未添加任何视觉效果和Style)
相信玩过PSP的玩家应该知道有一款音乐游戏叫 太鼓达人,(为了不和太鼓达人名字冲突,改了个中国式的名称)
最近为了加深学习Silverlight决定尝试做一款音乐游戏!
主要想实现功能:
1.根据默认的配置文件加载自带的歌曲,前提是音乐节拍以及时间存入到文件中.
2.能够自我录制音乐节拍,并保存为相应可读取的文件格式。(目前思路比较清晰,不知道后面会不会忘记)
3.实现太鼓达人中,应有的基本功能。(当然音乐连击是要实现的)
4.根据用户选择的MP3格式文件,自动生成相应的节拍文件并读取。(这个可能比较难)
5.特效加美化。
本次决定不使用动画面板(Storyboard)来控制业务逻辑,特效还是不会放弃强力的它.
先上目前已完成的截图。
看上去效果不错,本来想使用队列来完成 节拍信号的,发现不利于优化算法。
截图一
截图二
目前该效果跑起来CPU基本在3-5%左右,预计完成游戏将达到30-40左右!
帧数:60以上
以上是本人的一下想法。
基本整体思路:
计时器+后台线程+数据维护数组+消息通知来完成游戏。(计时器目前选的DispatcherTime,[好像拼错单词了,VS智能感知带来的后遗症])
音乐实现思路:
默认的音乐是音乐格式文件,加+XML 节拍描叙文件
目前定义为这样:
1 <?xml version="1.0" encoding="utf-8" ?>
2 <!--
3 关键帧分别形容鼓面的
4 LS 左侧敲击
5 LF 左正敲击
6 RF 右正敲击
7 RS 右侧敲击
8 SA 左右侧一起
9 FA 左右正一起
10 -->
11 <Musics>
12
13 <Music Name="义勇军进行曲" Length="56000" Data="FA-300,LS-500,LF-1200,FA-300,LS-500,LF-1200,FA-300,LS-500,LF-1200,RF-2500,RS-1000,SA-1000,LS-1000,LF-1200,RF-2500,RS-1000,SA-1000,LS-1000,LF-1200,RF-2500,RS-1000,SA-1000,LS-1000,LF-1200,RF-2500,RS-1000,SA-1000,LS-1000,LF-1200,RF-2500,RS-1000,SA-1000"/>
14 <Music Name="世上只有妈妈好" Length="256000" Data="LS-3000,LF-1200,RF-2500,RS-5000,LF-1200,RF-2500,RS-5000,LF-1200,RF-2500,RS-5000,LF-1200,RF-2500,RS-5000"/>
15 <Music Name="生日快乐" Length="156000" Data="FA-3000,LS-1000,LF-500,RF-1000,RS-1000,SA-1000,FA-1000,LF-1200,RF-2500,RS-5000,LF-1200,RF-2500,RS-5000"/>
16 <Music Name="安静" Length="56000" Data="LS-3000,LF-1200,RF-2500,RS-5000,LF-1200,RF-2500,RS-5000,LF-1200,RF-2500,RS-5000,LF-1200,RF-2500,RS-5000"/>
17 <Music Name="超级玛丽" Length="256000" Data="LS-3000,LF-1200,RF-2500,RS-5000,LF-1200,RF-2500,RS-5000,LF-1200,RF-2500,RS-5000,LF-1200,RF-2500,RS-5000"/>
18 <Music Name="未知的以后" Length="156000" Data="LS-3000,LF-1200,RF-2500,RS-5000,LF-1200,RF-2500,RS-5000,LF-1200,RF-2500,RS-5000,LF-1200,RF-2500,RS-5000"/>
19 </Musics>
希望有做过音乐游戏的达人/高手来指导指导音乐游戏真正是怎么做的!
支持的顶一个把!这样高手就可以看见该文章!我后续做完此游戏后!会写一个音乐游戏教程!然后在教程里面发布相关源码!目前20%就不发了!寒碜!*_*