|
3 | 3 | (function () { |
4 | 4 | var myGame = new Phaser.Game(this, 'game', 800, 600, init, create, update); |
5 | 5 | function init() { |
| 6 | + myGame.loader.addImageFile('nashwan', 'assets/sprites/xenon2_ship.png'); |
6 | 7 | myGame.loader.addImageFile('starfield', 'assets/misc/starfield.jpg'); |
| 8 | + myGame.loader.addImageFile('jet', 'assets/sprites/jets.png'); |
7 | 9 | myGame.loader.load(); |
8 | 10 | } |
9 | 11 | var scroller; |
| 12 | + var emitter; |
10 | 13 | var ship; |
| 14 | + var speed = 0; |
11 | 15 | function create() { |
12 | | - // 512 x 512 |
13 | | - scroller = myGame.createScrollZone('starfield', 0, 0, 1024, 512); |
14 | | - // Some sin/cos data for the movement |
15 | | - myGame.math.sinCosGenerator(256, 4, 4, 2); |
| 16 | + scroller = myGame.createScrollZone('starfield', 0, 0, 1024, 1024); |
| 17 | + emitter = myGame.createEmitter(myGame.stage.centerX + 16, myGame.stage.centerY + 12); |
| 18 | + emitter.makeParticles('jet', 250, 0, false, 0); |
| 19 | + //emitter.lifespan |
| 20 | + ship = myGame.createSprite(myGame.stage.centerX, myGame.stage.centerY, 'nashwan'); |
| 21 | + // We do this because the ship was drawn facing up, but 0 degrees is pointing to the right |
| 22 | + ship.rotationOffset = 90; |
16 | 23 | } |
17 | 24 | function update() { |
18 | | - scroller.currentRegion.scrollSpeed.x = myGame.math.shiftSinTable(); |
19 | | - scroller.currentRegion.scrollSpeed.y = myGame.math.shiftCosTable(); |
| 25 | + ship.angularVelocity = 0; |
| 26 | + if(myGame.input.keyboard.isDown(Phaser.Keyboard.LEFT)) { |
| 27 | + ship.angularVelocity = -200; |
| 28 | + } else if(myGame.input.keyboard.isDown(Phaser.Keyboard.RIGHT)) { |
| 29 | + ship.angularVelocity = 200; |
| 30 | + } |
| 31 | + if(myGame.input.keyboard.isDown(Phaser.Keyboard.UP)) { |
| 32 | + speed += 0.1; |
| 33 | + if(speed > 10) { |
| 34 | + speed = 10; |
| 35 | + } |
| 36 | + } else { |
| 37 | + speed -= 0.1; |
| 38 | + if(speed < 0) { |
| 39 | + speed = 0; |
| 40 | + } |
| 41 | + } |
| 42 | + var motion = myGame.motion.velocityFromAngle(ship.angle, speed); |
| 43 | + scroller.setSpeed(motion.x, motion.y); |
| 44 | + // emit particles |
| 45 | + if(speed > 2) { |
| 46 | + emitter.setXSpeed(-(motion.x * 20), -(motion.x * 30)); |
| 47 | + emitter.setYSpeed(-(motion.y * 20), -(motion.y * 30)); |
| 48 | + emitter.emitParticle(); |
| 49 | + } |
20 | 50 | } |
21 | 51 | })(); |
0 commit comments