---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
在上学期寒假的时候见习,做的是java练练看。在做声音播放的时候,我使用了枚举,发现枚举可以大大的增加了代码的可读性,从而使代码便于维护。
枚举是c系列语言和java的一种基本类型。也可能是初学者不怎么喜欢使用的类型。
下面是源码,因为见习的时候用的事java,c#的音乐播放类不了解,我将所有的注释加上
枚举类的代码
public enum play {
start,//游戏开始
win,//游戏胜利
defeat,//游戏失败
remove,//匹配成功
back,//背景音乐
select//选择
}
下面为声音播放的源码
//声明音乐类,继承接口AudioClip implements是java的接口继承关键字
public classSoundClip implements AudioClip {
AudioStream as;//可能是java的声音流类
//重载play方法 以枚举做为虚参
public void play(play play) {
// TODO Auto-generated methodstub
//java中不存在string 关键字,声明字符串需用String 类
String playMusic=null;//播放的文件的路径
switch(play) //传入枚举值
{
casestart:playMusic="sound/start.wav";break; //如果枚举值为start,则将游戏开始的声音文件的路径复制给playMusic,下同
casewin:playMusic="sound/win.wav";break;
casedefeat:playMusic="sound/defeat.wav";break;
caseremove:playMusic="sound/remove.wav";break;
//caseback:playMusic="sound/back.wav";break;
//caseselect:playMusic="sound/select.wav";break;
}
try{
FileInputStream fis=newFileInputStream(playMusic);//这一块代码是播放声音,具体的我也不是特别清楚
as=new AudioStream(fis);
AudioPlayer.player.start(as);
}catch(Exception ex){
ex.printStackTrace();
}
}
//实现接口的方法
public void play() {
// TODO Auto-generated methodstub
}
}
在上面的switch块中,传入的是枚举变量,可以更容易的读懂这部分的代码,增加可读性。如果不使用枚举变量的话可能就是传入整形变量,会减低了代码的可读性。
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net