Untitled
unknown
plain_text
9 months ago
1.5 kB
2
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