var meteors;
var invader1;
var config = {
type: Phaser.AUTO,
width: 800,
height: 500,
// backgroundColor: "#5f2a55",
physics: {
default: 'arcade',
arcade: {
gravity: { y: 1 },
debug: true
}
},
scene: {
preload: preload,
create: create,
update: update
}
};
var game = new Phaser.Game(config);
//var group={};
function preload() {
this.load.spritesheet('fire', 'meteor.png', {
frameWidth: 32,
frameHeight: 32
});
this.load.image('ground', 'platform.png');
}
function create() {
//meteors = game.add.group();
ground = this.physics.add.staticImage(400, 470, 'ground');
ground.setDisplaySize(790, 50);
ground.setSize(790, 50);
ground.setOffset(-190, -8);
meteors = this.physics.add.group({
key: 'fire',
frames: this.anims.generateFrameNumbers('fire', { start: 0, end: 6 }),
repeat: 13,
setXY: { x: 32, y: 100, stepX: 40 }
});
this.physics.add.collider(meteors, ground);
}
function update() {
console.log(meteors);
}
<!DOCTYPE html>
<html lang="en">
<head>
<script src="https://cdn.jsdelivr.net/npm/phaser@3.15.1/dist/phaser-arcade-physics.min.js"></script>
<style>
canvas {
margin: auto;
border: 5px solid rgb(185, 184, 184);
border-radius: 3px;
}
</style>
</head>
<body>
<script src="tests.js"></script>
</body>
</html>
Я только начинаю с Phaser 3, я хочу создать симуляцию падающих метеоров, мне удалось создать метеоры, и они падают доземля, как и планировалось, но я не смог оживить метеоры.... спрайт-лист метеора работает, я проверил его сам, и он сработал, поэтому я просто не могу оживить группу спрайтов (метеоров).код ниже в основном скопирован из "сделай свою первую игру в фазере".спрайты метеоров хранятся в массиве, называемом «метеорами».я не добавил "this.anims.play (" fire ")", так как он разбил все.
meteors = this.physics.add.group({
key: 'fire',
frames: this.anims.generateFrameNumbers('fire', { start: 0, end: 6 }),
repeat: 13,
setXY: { x: 32, y: 100, stepX: 40 }
});
this.physics.add.collider(meteors, ground);