Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!doctype html>
- <html lang="en">
- <head>
- <meta charset="UTF-8" />
- <title>Phaser - Making your first game, part 9</title>
- <script type="text/javascript" src="js/phaser.min.js"></script>
- <style type="text/css">
- body {
- margin: 0;
- }
- </style>
- </head>
- <body>
- <script type="text/javascript">
- var game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: preload, create: create, update: update });
- function preload() {
- game.load.image('tilesky', 'assets/skytile.gif');
- game.load.image('sky', 'assets/city_3.png');
- game.load.image('ground', 'assets/platform.png');
- game.load.image('star', 'assets/(raz).gif');
- game.load.spritesheet('dude', 'assets/dansprite2.png', 32, 45);
- game.load.spritesheet('coin', 'assets/01coin.png', 15, 120);
- }
- var player;
- var platforms;
- var cursors;
- var stars;
- var score = 0;
- var scoreText;
- var night;
- var buildings;
- var camspeed = 2;
- function create() {
- // We're going to be using physics, so enable the Arcade Physics system
- game.physics.startSystem(Phaser.Physics.ARCADE);
- game.world.setBounds(0, 0, 6000, 600);
- // A simple background for our game
- night = game.add.tileSprite(0, 0, 6000, 600, 'tilesky' );
- buildings = game.add.tileSprite(0, 0, 6000, 600, 'sky');
- // The platforms group contains the ground and the 2 ledges we can jump on
- platforms = game.add.group();
- // We will enable physics for any object that is created in this group
- platforms.enableBody = true;
- // Here we create the ground.
- var ground = platforms.create(0, game.world.height - 64, 'ground');
- // Scale it to fit the width of the game (the original sprite is 400x32 in size)
- ground.scale.setTo(15, 2);
- // This stops it from falling away when you jump on it
- ground.body.immovable = true;
- // Now let's create two ledges
- var ledge = platforms.create(400, 400, 'ground');
- ledge.body.immovable = true;
- ledge = platforms.create(-150, 250, 'ground');
- ledge.body.immovable = true;
- ledge = platforms.create(800, 250, 'ground');
- ledge.body.immovable = true;
- ledge = platforms.create(1200, 100, 'ground');
- ledge.body.immovable = true;
- ledge = platforms.create(1050, 400, 'ground');
- ledge.body.immovable = true;
- ledge = platforms.create(1550, 325, 'ground');
- ledge.body.immovable = true;
- // The player and its settings
- player = game.add.sprite(32, game.world.height - 150, 'dude');
- // We need to enable physics on the player
- game.physics.arcade.enable(player);
- // Player physics properties. Give the little guy a slight bounce.
- player.body.bounce.y = 0.;
- player.body.gravity.y = 350;
- player.body.collideWorldBounds = true;
- // Our two animations, walking left and right.
- player.animations.add('left', [0, 1, 2, 3], 10, true);
- player.animations.add('right', [5, 6, 7, 8], 10, true);
- // Finally some stars to collect
- stars = game.add.group();
- // We will enable physics for any star that is created in this group
- stars.enableBody = true;
- // Here we'll create 12 of them evenly spaced apart
- for (var i = 0; i < 25; i++)
- {
- // Create a star inside of the 'stars' group
- var star = stars.create(Math.random() * 4500, 0, 'star');
- // Let gravity do its thing
- star.body.gravity.y = 300;
- // This just gives each star a slightly random bounce value
- star.body.bounce.y = 0.7 + Math.random() * 0.2;
- }
- // The score
- scoreText = game.add.text(16, 16, 'Score: 0', { fontSize: '32px', fill: '#fff' });
- // Our controls.
- cursors = game.input.keyboard.createCursorKeys();
- scoreText.fixedToCamera = true;
- }
- function update() {
- // Collide the player and the stars with the platforms
- game.physics.arcade.collide(player, platforms);
- game.physics.arcade.collide(stars, platforms);
- // Checks to see if the player overlaps with any of the stars, if he does call the collectStar function
- game.physics.arcade.overlap(player, stars, collectStar, null, this);
- // Reset the players velocity (movement)
- player.body.velocity.x = 0;
- if (cursors.left.isDown)
- {
- // Move to the left
- player.body.velocity.x = -150;
- player.animations.play('left');
- // night.tilePosition.x += 1;
- // buildings.tilePosition.x += 2;
- /* game.camera.x -= camSpeed;*/
- if (!game.camera.atLimit.x){
- night.tilePosition.x += 1;
- buildings.tilePosition.x += 2;
- }
- }
- else if (cursors.right.isDown)
- {
- // Move to the right
- player.body.velocity.x = 150;
- player.animations.play('right');
- night.tilePosition.x -= 1;
- buildings.tilePosition.x -= 2;
- /* game.camera.x += camSpeed;*/
- if (!game.camera.atLimit.x){
- night.tilePosition.x -= 1;
- buildings.tilePosition.x -= 2;
- }
- }
- else
- {
- // Stand still
- player.animations.stop();
- player.frame = 4;
- }
- // Allow the player to jump if they are touching the ground.
- if (cursors.up.isDown && player.body.touching.down)
- {
- player.body.velocity.y = -350;
- }
- game.camera.focusOnXY(player.x, player.y);
- }
- function collectStar (player, star) {
- // Removes the star from the screen
- star.kill();
- // Add and update the score
- score += 1;
- scoreText.text = 'Score: ' + score;
- }
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement