aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/js/AudioPlayer.js25
-rw-r--r--src/js/Game.js21
2 files changed, 32 insertions, 14 deletions
diff --git a/src/js/AudioPlayer.js b/src/js/AudioPlayer.js
new file mode 100644
index 0000000..952f487
--- /dev/null
+++ b/src/js/AudioPlayer.js
@@ -0,0 +1,25 @@
+export default class AudioPlayer{
+ constructor(){
+ this.audioPlayer = new Audio();
+ this.url = window.URL || window.webkitURL;
+ this.soundURL = null;
+ this.attachEventListeners();
+ }
+
+ attachEventListeners(){
+ this.audioPlayer.addEventListener('error', (e)=> {
+ console.log("Error: " + e);
+ }, false);
+ this.audioPlayer.addEventListener('ended', (e)=> {
+ this.audioPlayer = null;
+ this.url.revokeObjectURL(this.soundURL);
+ }, false);
+ }
+
+ play(soundUrl){
+ this.soundURL = soundUrl;
+ this.audioPlayer.src = this.soundURL;
+ this.audioPlayer.play();
+
+ }
+} \ No newline at end of file
diff --git a/src/js/Game.js b/src/js/Game.js
index 01b5356..a419496 100644
--- a/src/js/Game.js
+++ b/src/js/Game.js
@@ -1,9 +1,12 @@
+
+import AudioPlayer from "./AudioPlayer";
+
export default class Game{
constructor(){
- this.url = window.URL || window.webkitURL;
+
this.soundUrl = jsfxr([3,,0.3469,0.6652,0.2097,0.0671,,0.0916,,,,0.3062,0.8509,,,0.5633,0.0985,-0.0068,1,,,,,0.5]);
this.player = new Audio();
- this.player.on
+ console.log(kontra);
this.init();
}
@@ -16,7 +19,7 @@ export default class Game{
let sprite = kontra.sprite({
x: 100, // starting x,y position of the sprite
y: 80,
- color: 'blue', // fill color of the sprite rectangle
+ color: 'white', // fill color of the sprite rectangle
width: 20, // width and height of the sprite rectangle
height: 40,
dx: 2 // move the sprite 2px to the right every frame
@@ -33,17 +36,7 @@ export default class Game{
}
if(kontra.keys.pressed('space')){
-
- this.player.addEventListener('error', (e)=> {
- console.log("Error: " + player.error.code);
- }, false);
- this.player.addEventListener('ended', (e)=> {
- this.url.revokeObjectURL(this.soundURL);
- }, false);
- this.player.pause();
- this.player.src = this.soundUrl;
- let play = this.player.play();
- console.log(play)
+ (new AudioPlayer()).play(this.soundUrl);
}
},
render: ()=> { // render the game state