Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var restart;
- var player;
- var enemy;
- var platforms;
- var cursors;
- var dead = false;
- var diamond;
- var stars;
- var score = 0;
- var scoreText;
- var game = new Phaser.Game( 800, 600, Phaser.AUTO, '' );
- game.state.add( 'load', load );
- game.state.add( 'play', play );
- game.state.start( 'load' );
- var load = function(game){};
- load.prototype = {
- preload : function(){
- game.load.image( 'sky', 'assets/img/sky.png');
- game.load.image( 'ground', 'assets/img/platform.png');
- game.load.image( 'star', 'assets/img/star.png');
- game.load.spritesheet( 'dude', 'assets/img/dude.png', 32, 48 );
- game.load.spritesheet( 'enemy', 'assets/img/baddie.png', 32, 32 );
- game.load.image( 'diamond', 'assets/img/diamond.png');
- game.state.start( 'StateB' );
- }
- }
- var play = function(game){};
- play.prototype = {
- create : function(){
- restart = game.input.keyboard.addKey( Phaser.Keyboard.R );
- game.physics.startSystem( Phaser.Physics.ARCADE );
- game.add.sprite( 0, 0, 'sky' );
- scoreText = game.add.text( 32, 16, 'score: 0', { fontSize : '24px', fill : '#000' } );
- //platforms
- platforms = game.add.group();
- platforms.enableBody = true;
- var ground = platforms.create( 0, game.world.height - 64, 'ground' );
- ground.scale.setTo( 2, 2 );
- ground.body.immovable = true;
- var ledge = platforms.create( 400, 400, 'ground' );
- ledge.body.immovable = true;
- ledge = platforms.create( -150, 250, 'ground' );
- ledge.body.immovable = true;
- //player
- player = game.add.sprite( 32, game.world.height - 150, 'dude' );
- game.physics.arcade.enable( player );
- player.body.bounce.y = 0.1;
- player.body.gravity.y = 300;
- player.body.collideWorldBounds = true;
- player.animations.add( 'left', [0, 1, 2, 3], 15, true );
- player.animations.add( 'right', [5, 6, 7, 8], 15, true );
- //enemy
- enemy = game.add.sprite( 700, game.world.height - 150, 'enemy' );
- game.physics.arcade.enable( enemy );
- enemy.body.gravity.y = 300;
- enemy.body.bounce.y = 0.1;
- enemy.frame = 1;
- // diamond
- diamond = game.add.sprite( 760, game.world.height - 150, 'diamond' );
- game.physics.arcade.enable( diamond );
- diamond.body.gravity.y = 300;
- diamond.body.bounce.y = 0.1;
- //stars
- stars = game.add.group();
- stars.enableBody = true;
- for( var i = 15; i < 800; i += 80 ){
- var star = stars.create( i, 0, 'star' );
- star.body.gravity.y = 100;
- star.body.bounce.y = 0.5 + Math.random() * 0.2
- }
- //input
- cursors = game.input.keyboard.createCursorKeys();
- },
- update : function(){
- game.physics.arcade.collide( player, platforms );
- game.physics.arcade.collide( enemy, platforms );
- game.physics.arcade.collide( stars, platforms );
- game.physics.arcade.collide( diamond, platforms );
- game.physics.arcade.overlap( player, stars, collectStar, null, this );
- game.physics.arcade.overlap( player, enemy, death, null, this );
- game.physics.arcade.overlap( player, diamond, pickup, null, this );
- if( dead == true ){
- player.destroy();
- diamond.destroy();
- stars.destroy();
- enemy.destroy();
- game.add.text( 300, 250, 'GAME OVER', { fontSize : '80px', fill : '#000' } );
- game.add.text( 300, 310, 'push R to restart', { fontSize : '20px', fill : '#000' } );
- if( restart.isDown ){
- game.state.start( 'play' );
- }
- }else{
- player.body.velocity.x = 0;
- player.body.gravity.y = 300;
- if( cursors.left.isDown ){
- player.body.velocity.x = -150;
- player.animations.play( 'left' );
- }
- else if( cursors.right.isDown ){
- player.body.velocity.x = 150;
- player.animations.play( 'right' );
- }
- else{
- player.animations.stop();
- player.frame = 4;
- }
- if( cursors.down.isDown ){
- player.body.gravity.y = 800;
- }
- if( cursors.up.isDown && player.body.touching.down ){
- player.body.velocity.y = -310;
- }
- }
- },
- collectStar : function( player, star ){
- star.destroy();
- score += 10;
- scoreText.text = 'score: ' + score;
- },
- death : function( player, enemy ){
- player.body.velocity.x = 0;
- dead = true;
- },
- pickup : function( player, diamond ){
- diamond.destroy();
- score += 100;
- scoreText.text = 'score: ' + score;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement