Untitled
unknown
plain_text
2 months ago
1.5 kB
1
Indexable
// Game Setup let game = new Phaser.Game(config); let player, fuel, credits, obstacles, packages; // Main Scene class MainScene extends Phaser.Scene { preload() { this.load.image('ship', 'assets/ship.png'); this.load.image('asteroid', 'assets/asteroid.png'); this.load.image('fuelPod', 'assets/fuel.png'); } create() { // Player Ship player = this.physics.add.sprite(400, 300, 'ship'); player.setCollideWorldBounds(true); // Obstacles obstacles = this.physics.add.group(); for (let i = 0; i < 10; i++) { obstacles.create(Phaser.Math.Between(0, 800), Phaser.Math.Between(0, 600), 'asteroid'); } // Fuel Pods fuelPods = this.physics.add.group(); fuelPods.createMultiple({ key: 'fuelPod', repeat: 5, setXY: { x: 100, y: 100, stepX: 150 } }); // Collisions this.physics.add.collider(player, obstacles, hitObstacle, null, this); this.physics.add.overlap(player, fuelPods, collectFuel, null, this); } update() { // Player Movement if (cursors.left.isDown) player.setVelocityX(-200); else if (cursors.right.isDown) player.setVelocityX(200); else player.setVelocityX(0); // Fuel Depletion fuel -= 0.1; if (fuel <= 0) gameOver(); } } function hitObstacle(player, obstacle) { cargoHealth -= 10; obstacle.destroy(); } function collectFuel(player, fuelPod) { fuel += 20; fuelPod.destroy(); }
Editor is loading...
Leave a Comment