mirror of
https://github.com/photonstorm/phaser
synced 2024-12-04 18:40:59 +00:00
81 lines
2.1 KiB
JavaScript
81 lines
2.1 KiB
JavaScript
|
|
var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render });
|
|
|
|
function preload() {
|
|
|
|
game.load.image('car', 'assets/sprites/car90.png');
|
|
game.load.image('baddie', 'assets/sprites/space-baddie.png');
|
|
|
|
}
|
|
|
|
var car;
|
|
var aliens;
|
|
|
|
function create() {
|
|
|
|
aliens = game.add.group();
|
|
|
|
game.physics.gravity.y = 100;
|
|
|
|
for (var i = 0; i < 50; i++)
|
|
{
|
|
var s = aliens.create(game.world.randomX, game.world.randomY, 'baddie');
|
|
s.name = 'alien' + s;
|
|
s.body.collideWorldBounds = true;
|
|
s.body.bounce.setTo(0.8, 0.8);
|
|
s.body.linearDamping = 0;
|
|
s.body.minVelocity.setTo(0, 0);
|
|
s.body.velocity.setTo(10 + Math.random() * 40, 10 + Math.random() * 40);
|
|
}
|
|
|
|
car = game.add.sprite(400, 300, 'car');
|
|
car.name = 'car';
|
|
car.anchor.setTo(0.5, 0.5);
|
|
car.body.collideWorldBounds = true;
|
|
// car.body.bounce.setTo(0.8, 0.8);
|
|
car.body.allowRotation = true;
|
|
// car.body.immovable = true;
|
|
// car.body.minBounceVelocity = 0;
|
|
|
|
}
|
|
|
|
function update() {
|
|
|
|
game.physics.collide(car, aliens);
|
|
|
|
car.body.velocity.x = 0;
|
|
car.body.velocity.y = 0;
|
|
car.body.angularVelocity = 0;
|
|
|
|
if (game.input.keyboard.isDown(Phaser.Keyboard.LEFT))
|
|
{
|
|
car.body.angularVelocity = -200;
|
|
}
|
|
else if (game.input.keyboard.isDown(Phaser.Keyboard.RIGHT))
|
|
{
|
|
car.body.angularVelocity = 200;
|
|
}
|
|
|
|
if (game.input.keyboard.isDown(Phaser.Keyboard.UP))
|
|
{
|
|
car.body.velocity.copyFrom(game.physics.velocityFromAngle(car.angle, 300));
|
|
}
|
|
|
|
}
|
|
|
|
function render() {
|
|
|
|
for (var i = 0; i < aliens._container.children.length; i++)
|
|
{
|
|
game.debug.renderPolygon(aliens._container.children[i].body.polygons);
|
|
}
|
|
|
|
game.debug.renderPolygon(car.body.polygons);
|
|
|
|
// game.debug.renderBodyInfo(aliens._container.children[0], 32, 32);
|
|
game.debug.renderBodyInfo(aliens._container.children[0], 32, 32);
|
|
|
|
// game.debug.renderBodyInfo(car, 16, 24);
|
|
// game.debug.renderBodyInfo(aliens.getFirstAlive(), 16, 24);
|
|
|
|
}
|