Ich fange mit Phaser, und ich brauche die folgen Animationen machen: Ein Sprit Auto von jeder Seite des Bildschirms angezeigt werden, so dass in einem bestimmten Punkt ein anderes Auto bewegt sich in derselben Richtung, und noch einer und noch immer mit dem gleichen Intervall und wenn diese Autos nicht mehr auf dem Bildschirm sind, werden sie zerstört.Wie macht ein Sprite in der Gruppe andere Objekte und zerstört sich selbst?
Für den Versuch, ich setze Sprite, aber wenn Auto mit ihnen kollidieren, starten Sie ein anderes Auto die Bewegung. Geben Sie den Code:
var x = 800
var y = 600
var game = new Phaser.Game(x, y, Phaser.AUTO, '', { preload: preload, create: create, update: update });
var cars;
var next;
function preload() {
game.load.image('car', 'assets/images/car.png');
game.load.image('next', 'assets/images/square.png');
game.load.image('destroy', 'assets/images/square.png');
}
function create() {
game.physics.startSystem(Phaser.Physics.ARCADE);
game.stage.backgroundColor = "#4488AA";
// call next car
next = game.add.sprite(500, 200, 'next');
game.physics.arcade.enable(next);
// next.body.checkCollision.right = false;
next.body.bounce.set(0);
next.body.immovable = true;
// destroy last car
destroy = game.add.sprite(0, 550, 'destroy');
game.physics.arcade.enable(destroy);
destroy.body.immovable = true;
cars = game.add.physicsGroup();
createCar(null, null);
}
function update() {
game.physics.arcade.collide(next, cars, createCar, processHandler, this);
}
function processHandler (pointer, car) {
return true;
}
function createCar(pointer, car) {
console.log('call next');
car = cars.create(x, 0,'car');
car.body.velocity.setTo(-150, 100);
}
Aber nicht, weil, mit collision
, das Auto aus seinem Weg und ohne sie, er nicht collision
oder overlap
Rückruf nennen. Schauen Sie:
Wie ich diese Arbeit gemacht kann?