diff --git a/harkka3/samson/assets/sprites/penis-barrel.png b/harkka3/samson/assets/sprites/penis-barrel.png new file mode 100644 index 0000000000000000000000000000000000000000..62821ed02f176117edde573ecace68066ea2869a Binary files /dev/null and b/harkka3/samson/assets/sprites/penis-barrel.png differ diff --git a/harkka3/samson/assets/sprites/penis-cannon-base.png b/harkka3/samson/assets/sprites/penis-cannon-base.png new file mode 100644 index 0000000000000000000000000000000000000000..060e2c009b9b552c2de7e09dfef8e154e8c66ea9 Binary files /dev/null and b/harkka3/samson/assets/sprites/penis-cannon-base.png differ diff --git a/harkka3/samson/assets/sprites/sperm.png b/harkka3/samson/assets/sprites/sperm.png new file mode 100644 index 0000000000000000000000000000000000000000..f9d949546f74cbe7949d558339a83a4982314463 Binary files /dev/null and b/harkka3/samson/assets/sprites/sperm.png differ diff --git a/harkka3/samson/state2.js b/harkka3/samson/state2.js index c20aa82190aed6251675118cfaeeaf3cb3e366fb..99d81bd42e54ce9856724cac6e057abb0978f9db 100644 --- a/harkka3/samson/state2.js +++ b/harkka3/samson/state2.js @@ -1,9 +1,44 @@ demo.state2 = function(){}; +var barrel, bullets, velocity = 1000; + demo.state2.prototype = { - preload: function(){}, + preload: function(){ + game.load.image('base', 'assets/sprites/penis-cannon-base.png'); + game.load.image('barrel', 'assets/sprites/penis-barrel.png'); + game.load.image('bullet', 'assets/sprites/sperm.png'); + }, create: function(){ game.stage.backgroundColor = '#0066ff'; addChangeStateEventListeners(); + + var base = game.add.sprite(centerX, centerY, 'base'); + base.anchor.setTo(0.5); + base.scale.setTo(0.4); + + barrel = game.add.sprite(centerX, centerY, 'barrel'); + barrel.anchor.setTo(0.5, 1); + barrel.scale.setTo(0.5); + + bullets = game.add.group(); + bullets.enableBody = true; + bullets.physicsBodyType = Phaser.Physics.ARCADE; + bullets.createMultiple(50, 'bullet'); + + bullets.setAll('checkWorldBounds', true); + bullets.setAll('outOfBoundsKill', true); + }, + update: function(){ + barrel.rotation = game.physics.arcade.angleToPointer(barrel); + if(game.input.activePointer.isDown) { + this.fire(); + } }, - update: function(){} + fire: function() { + console.log('firing'); + var bullet = bullets.getFirstDead(); + bullet.reset(barrel.x, barrel.y); + + game.physics.arcade.moveToPointer(bullet, velocity); + bullet.rotation = game.physics.arcade.angleToPointer(bullet); + } } \ No newline at end of file