mirror of
https://github.com/wassname/phaser.git
synced 2026-09-09 11:28:47 +08:00
78 lines
2.0 KiB
JavaScript
78 lines
2.0 KiB
JavaScript
|
|
// var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update: update, render: render });
|
|
var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render });
|
|
|
|
function preload() {
|
|
|
|
game.load.image('starfield', 'assets/misc/starfield.jpg');
|
|
game.load.image('ball', 'assets/sprites/shinyball.png');
|
|
|
|
}
|
|
|
|
var ball;
|
|
var sprite;
|
|
var cursors;
|
|
|
|
function create() {
|
|
|
|
game.physics.startSystem(Phaser.Physics.NINJA);
|
|
|
|
sprite = game.add.tileSprite(100, 100, 200, 200, 'starfield');
|
|
sprite.autoScroll(0, 100);
|
|
|
|
game.physics.ninja.enableAABB(sprite);
|
|
// game.physics.ninja.enableTile(sprite, 14);
|
|
|
|
// By default Tiles have gravity and world collision disabled (as they are mostly used for platforms and the likes)
|
|
// We re-enable it here
|
|
// sprite.body.gravityScale = 1;
|
|
// sprite.body.collideWorldBounds = true;
|
|
|
|
ball = game.add.sprite(400, 0, 'ball');
|
|
|
|
// Enable the physics body for the Ninja physics system
|
|
game.physics.ninja.enableCircle(ball, ball.width / 2);
|
|
|
|
// A little more bounce
|
|
ball.body.bounce = 0.5;
|
|
|
|
cursors = game.input.keyboard.createCursorKeys();
|
|
|
|
}
|
|
|
|
function update() {
|
|
|
|
game.physics.ninja.collide(sprite, ball);
|
|
|
|
if (cursors.left.isDown)
|
|
{
|
|
sprite.body.moveLeft(20);
|
|
}
|
|
else if (cursors.right.isDown)
|
|
{
|
|
sprite.body.moveRight(20);
|
|
}
|
|
|
|
if (cursors.up.isDown)
|
|
{
|
|
sprite.body.moveUp(20);
|
|
}
|
|
else if (cursors.down.isDown)
|
|
{
|
|
sprite.body.moveDown(20);
|
|
}
|
|
|
|
}
|
|
|
|
function render() {
|
|
|
|
var r = new Phaser.Rectangle(sprite.body.x - (sprite.body.width / 2), sprite.body.y - (sprite.body.height / 2), sprite.body.width, sprite.body.height);
|
|
|
|
// game.debug.text(sprite.body.x, 32, 32);
|
|
// game.debug.text(sprite.body.y, 32, 64);
|
|
// game.debug.text(sprite.body.width, 128, 32);
|
|
// game.debug.text(sprite.body.height, 128, 64);
|
|
// game.debug.geom(r, 'rgba(0,255,0,0.4)', true);
|
|
|
|
}
|