From 0193315dd52bf763d7b8f570039cd1771b2e725c Mon Sep 17 00:00:00 2001 From: Indrajith K L Date: Sun, 12 Aug 2018 17:52:54 +0530 Subject: :arrow_up: :gem: * Support ES6 * Integrates jsfxr --- src/js/Game.js | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/js/main.js | 31 ++----------------------------- 2 files changed, 58 insertions(+), 29 deletions(-) create mode 100644 src/js/Game.js (limited to 'src/js') diff --git a/src/js/Game.js b/src/js/Game.js new file mode 100644 index 0000000..01b5356 --- /dev/null +++ b/src/js/Game.js @@ -0,0 +1,56 @@ +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 + this.init(); + } + + init(){ + kontra.init(); + this.main(); + } + + main(){ + let sprite = kontra.sprite({ + x: 100, // starting x,y position of the sprite + y: 80, + color: 'blue', // 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 + }); + + let loop = kontra.gameLoop({ // create the main game loop + update: ()=> { // update the game state + sprite.update(); + + // wrap the sprites position when it reaches + // the edge of the screen + if (sprite.x > kontra.canvas.width) { + sprite.x = -sprite.width; + } + + 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) + } + }, + render: ()=> { // render the game state + sprite.render(); + } + }); + + loop.start(); + } +} \ No newline at end of file diff --git a/src/js/main.js b/src/js/main.js index ded3502..82d4176 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -1,30 +1,3 @@ -function Game(){ - kontra.init(); - var sprite = kontra.sprite({ - x: 100, // starting x,y position of the sprite - y: 80, - color: 'blue', // 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 - }); - - var loop = kontra.gameLoop({ // create the main game loop - update: function() { // update the game state - sprite.update(); - - // wrap the sprites position when it reaches - // the edge of the screen - if (sprite.x > kontra.canvas.width) { - sprite.x = -sprite.width; - } - }, - render: function() { // render the game state - sprite.render(); - } - }); - - loop.start(); // start the game -} +import Game from './Game'; -window.Game = Game; \ No newline at end of file +let game = new Game(); \ No newline at end of file -- cgit v1.2.3