changeset 6:8c25fd3f9866 draft

7th,change a way of sounds play
author e105711 <yomitan.ie.u-ryukyu.ac.jp>
date Sat, 05 May 2012 01:49:16 +0900
parents a730b51d59eb
children c5455ae6cd70
files webGL/DrumSimulator.html webGL/sound/cymbal.wav webGL/sound/ftom.wav webGL/sound/hclose.wav webGL/sound/hopen.wav webGL/sound/kick.wav webGL/sound/snare.wav webGL/src/Note.js webGL/src/keybord.js webGL/src/mainfunc.js webGL/src/sound.js
diffstat 11 files changed, 45 insertions(+), 145 deletions(-) [+]
line wrap: on
line diff
--- a/webGL/DrumSimulator.html	Fri May 04 05:22:57 2012 +0900
+++ b/webGL/DrumSimulator.html	Sat May 05 01:49:16 2012 +0900
@@ -63,6 +63,8 @@
 
     var WIDTH = 1024;
     var HEIGHT = 640;
+//    var WIDTH = 800;
+//    var HEIGHT = 500;
     var MODE = TITLE;
     notesArray = [];
     var FPS = 30;
Binary file webGL/sound/cymbal.wav has changed
Binary file webGL/sound/ftom.wav has changed
Binary file webGL/sound/hclose.wav has changed
Binary file webGL/sound/hopen.wav has changed
Binary file webGL/sound/kick.wav has changed
Binary file webGL/sound/snare.wav has changed
--- a/webGL/src/Note.js	Fri May 04 05:22:57 2012 +0900
+++ b/webGL/src/Note.js	Sat May 05 01:49:16 2012 +0900
@@ -35,41 +35,19 @@
     case 1:
 	break;
     case 2:
-	if(HCloseCnt%2==0){
-	    audioStop(audioHClose2);
-	    audioHClose.play();
-	}
-	else{
-	    audioStop(audioHClose);
-	    audioHClose2.play();
-	}
-	HCloseCnt++;
+	audioHClose = audioPlay(audioHClose);
 	break;
     case 3:
-	if(SnareCnt%2==0){
-	    audioStop(audioSnare2);
-	    audioSnare.play();
-	}
-	else{
-	    audioStop(audioSnare);
-	    audioSnare2.play();
-	}
-	SnareCnt++;
+	audioSnare = audioPlay(audioSnare);
 	break;
     case 4:
-	if(KickCnt%2==0){
-	    audioStop(audioKick2);
-	    audioKick.play();
-	}
-	else{
-	    audioStop(audioKick);
-	    audioKick2.play();
-	}
-	KickCnt++;
+	audioKick = audioPlay(audioKick);
 	break;
     case 5:
+	audioFtom = audioPlay(audioFtom);
 	break;
     case 6:
+	audioCymbal = audioPlay(audioCymbal);
 	break;
     case 7:
 	break;
--- a/webGL/src/keybord.js	Fri May 04 05:22:57 2012 +0900
+++ b/webGL/src/keybord.js	Sat May 05 01:49:16 2012 +0900
@@ -14,79 +14,39 @@
     case "S":
 	if(!SPressed){
 	    SPressed = true;
-	    if(HCloseCnt%2==0){
-		audioStop(audioHClose2);
-		audioHClose.play();
-	    }
-	    else{
-		audioStop(audioHClose);
-		audioHClose2.play();
-	    }
-	    HCloseCnt++;
+	    audioHClose = audioPlay(audioHClose);
 	}
+	    
 	break;
     case "D":
 	if(!DPressed){
     	    DPressed = true;
-	    if(SnareCnt%2==0){
-		audioStop(audioSnare2);
-		audioSnare.play();
-	    }
-	    else{
-		audioStop(audioSnare);
-		audioSnare2.play();
-	    }
-	    SnareCnt++;
+	    audioSnare = audioPlay(audioSnare);
 	}
 	break;
     case "F":
 	if(!FPressed){
     	    FPressed = true;
-	    if(KickCnt%2==0){
-		audioStop(audioKick2);
-		audioKick.play();
-	    }
-	    else{
-		audioStop(audioKick);
-		audioKick2.play();
-	    }
-	    KickCnt++;
+	    audioKick = audioPlay(audioKick);
 	}
 	break;
     case "J":
 	if(!JPressed){
     	    JPressed = true;
-	    if(FtomCnt%2==0){
-		audioStop(audioFtom2);
-		audioFtom.play();
-	    }
-	    else{
-		audioStop(audioFtom);
-		audioFtom2.play();
-	    }
-	    FtomCnt++;
+	    audioFtom = audioPlay(audioFtom);
 	}
 	break;
     case "K":
 	if(!KPressed){
     	    KPressed = true;
-	    if(CymbalCnt%2==0){
-		audioStop(audioCymbal2);
-		audioCymbal.play();
-	    }
-	    else{
-		audioStop(audioCymbal);
-		audioCymbal2.play();
-	    }
-	    CymbalCnt++;
+	    audioCymbal = audioPlay(audioCymbal);
 	}
 	break;
     case " ":
 	if(!SpacePressed){
     	    SpacePressed = true;
 	    PlayingBGM = true;
-	    pl = function(){audioBGM.play()/*; setInterval(asdf,500);*/};
-//	    asdf = function(){console.log(audioBGM.currentTime)};
+	    pl = function(){audioBGM.play()};
 	    var setTime = Interval*105.0*100.0/testBPM;
 	    setTimeout(pl,setTime);
 	    MODE = PLAY;
@@ -102,71 +62,31 @@
     case "S":
 	if(!SPressed){
 	    SPressed = true;
-	    if(HCloseCnt%2==0){
-		audioStop(audioHClose2);
-		audioHClose.play();
-	    }
-	    else{
-		audioStop(audioHClose);
-		audioHClose2.play();
-	    }
-	    HCloseCnt++;
+	    audioHClose = audioPlay(audioHClose);
 	}
 	break;
     case "D":
 	if(!DPressed){
     	    DPressed = true;
-	    if(SnareCnt%2==0){
-		audioStop(audioSnare2);
-		audioSnare.play();
-	    }
-	    else{
-		audioStop(audioSnare);
-		audioSnare2.play();
-	    }
-	    SnareCnt++;
+	    audioSnare = audioPlay(audioSnare);
 	}
 	break;
     case "F":
 	if(!FPressed){
     	    FPressed = true;
-	    if(KickCnt%2==0){
-		audioStop(audioKick2);
-		audioKick.play();
-	    }
-	    else{
-		audioStop(audioKick);
-		audioKick2.play();
-	    }
-	    KickCnt++;
+	    audioKick = audioPlay(audioSnare);
 	}
 	break;
     case "J":
 	if(!JPressed){
     	    JPressed = true;
-	    if(FtomCnt%2==0){
-		audioStop(audioFtom2);
-		audioFtom.play();
-	    }
-	    else{
-		audioStop(audioFtom);
-		audioFtom2.play();
-	    }
-	    FtomCnt++;
+	    audioFtom = audioPlay(audioFtom);
 	}
 	break;
     case "K":
 	if(!KPressed){
     	    KPressed = true;
-	    if(CymbalCnt%2==0){
-		audioStop(audioCymbal2);
-		audioCymbal.play();
-	    }
-	    else{
-		audioStop(audioCymbal);
-		audioCymbal2.play();
-	    }
-	    CymbalCnt++;
+	    audioCymbal = audioPlay(audioCymbal);
 	}
 	break;
     case " ":
--- a/webGL/src/mainfunc.js	Fri May 04 05:22:57 2012 +0900
+++ b/webGL/src/mainfunc.js	Sat May 05 01:49:16 2012 +0900
@@ -26,7 +26,7 @@
 
 function titleRender(ctx){
     reshape(ctx);
-    ctx.clearColor(0,0,0.15,1);
+    ctx.clearColor(0,0,0,1);
     ctx.clear(ctx.COLOR_BUFFER_BIT | ctx.DEPTH_BUFFER_BIT);
     PutSpriteF(ctx,100,30,1,imgs[0]);
     PutSpriteF(ctx,100,90,1,imgs[1]);
@@ -36,7 +36,7 @@
 
 function mainRender(ctx){
     reshape(ctx);
-    ctx.clearColor(0,0,0.15,1);
+    ctx.clearColor(0,0,0,1);
     ctx.clear(ctx.COLOR_BUFFER_BIT | ctx.DEPTH_BUFFER_BIT);
     PutSpriteF(ctx,100,7.8125,1,imgs[2]);
     PutSpriteF(ctx,100,105,1,imgs[3]);  //y == 480
@@ -47,7 +47,7 @@
 
 function playRender(ctx){
     reshape(ctx);
-    ctx.clearColor(0,0,0.15,1);
+    ctx.clearColor(0,0,0,1);
     ctx.clear(ctx.COLOR_BUFFER_BIT | ctx.DEPTH_BUFFER_BIT);
     PutSpriteF(ctx,100,7.8125,1,imgs[2]);
     PutSpriteF(ctx,100,105,1,imgs[3]);  //y == 480
--- a/webGL/src/sound.js	Fri May 04 05:22:57 2012 +0900
+++ b/webGL/src/sound.js	Sat May 05 01:49:16 2012 +0900
@@ -1,34 +1,30 @@
 var filesLoaded = 0;
-var filesToLoad = 13;
-var CymbalCnt = 0;
-var HCloseCnt = 0;
-var HOpenCnt = 0;
-var FtomCnt = 0;
-var KickCnt = 0;
-var SnareCnt = 0;
+var filesToLoad = 7;
 
 function loadSounds(){
-    
-    audioHClose = loadAudio("sound/hclose.wav");
-    audioHClose2 = loadAudio("sound/hclose.wav");
-    audioHOpen = loadAudio("sound/hopen.wav");
-    audioHOpen2 = loadAudio("sound/hopen.wav");
-    audioFtom = loadAudio("sound/ftom.wav");
-    audioFtom2 = loadAudio("sound/ftom.wav");
-    audioCymbal = loadAudio("sound/cymbal.wav");
-    audioCymbal2 = loadAudio("sound/cymbal.wav");
-    audioKick = loadAudio("sound/kick.wav");
-    audioKick2 = loadAudio("sound/kick.wav");
-    audioSnare = loadAudio("sound/snare.wav");
-    audioSnare2= loadAudio("sound/snare.wav");
-    audioBGM = loadAudio("sound/BGM.wav");
+
+    var ext = "";
+    if((new Audio("")).canPlayType("audio/ogg") != "")
+	ext = ".ogg";
+    else if((new Audio("")).canPlayType("audio/wav") != "")
+	ext = ".wav";
+    else
+	alert("your browser does not support wav and ogg File.");
+
+    audioHClose = loadAudio("sound/hclose"+ext);
+    audioHOpen = loadAudio("sound/hopen"+ext);
+    audioFtom = loadAudio("sound/ftom"+ext);
+    audioCymbal = loadAudio("sound/cymbal"+ext);
+    audioKick = loadAudio("sound/kick"+ext);
+    audioSnare = loadAudio("sound/snare"+ext);
+    audioBGM = loadAudio("sound/BGM"+ext);
 
 }
 
 function loadAudio(filepath){
     audioVar = new Audio();
     audioVar.addEventListener('canplaythrough', isAppLoaded, false);
-    console.log("loading");
+    console.log("loading...");
     audioVar.src = filepath;
     return audioVar;
 }
@@ -37,7 +33,6 @@
 {
     filesLoaded++;
     if (filesLoaded == filesToLoad){
-	console.log("called");
 	gameStart();
     }
 }
@@ -50,6 +45,11 @@
     }
 }
 
+function audioPlay(audioFile){
+    audioFile.play();
+    return (new Audio(audioFile.src));
+}
+
 function audioStart(audioFile){
     audioFile.load();
     audioFile.play();