Использование нескольких слоев из игры Tiled into Phaser
Я создаю игру с движком Phaser, и в настоящее время я использую приложение Tiled для создания своей собственной карты тайлов.
Кажется, что настоящая проблема заключается в наличии нескольких слоев при создании этой карты тайлов. У меня есть 6 разных слоев:
- "Фон"
- "WallBlocks"
- "Трава"
- "SpikeAnimation"
- "DiamondAnimation"
- "SlimeAnimation"
Вот мой файл Game.js
SleepSim.Game = function (game) {
this.map;
this.Background;
this.WallBlocks;
this.Grass;
this.SpikeAnimation;
this.DiamondAnimation;
this.SlimeAnimation;
}
SleepSim.Game.prototype = {
create: function () {
this.world.setBounds(0,0,5000,1000);
this.map = this.add.tilemap('gameWorld');
this.map.addTilesetImage('gameworld', 'tiles');
this.Background = this.map.createLayer('Background');
this.Background.resizeWorld();
this.WallBlocks = this.map.createLayer('WallBlocks');
this.Grass = this.map.createLayer('Grass');
this.SpikeAnimation = this.map.createLayer('SpikeAnimation');
this.DiamondAnimation = this.map.createLayer('DiamondAnimation');
this.SlimeAnimation = this.map.createLayer('SlimeAnimation');
},
update: function() {
if(this.input.keyboard.isDown(Phaser.Keyboard.DOWN)) {
this.camera.y += 10;
}
else if (this.input.keyboard.isDown(Phaser.Keyboard.UP)){
this.camera.y -= 10;
}
if (this.input.keyboard.isDown(Phaser.Keyboard.LEFT)){
this.camera.x -= 10;
}
else if (this.input.keyboard.isDown(Phaser.Keyboard.RIGHT)){
this.camera.x += 10;
}
}
}
В данный момент я настроил камеру таким образом, чтобы просто пролистать карту, чтобы убедиться, что вещи могут загружаться.
Извиняюсь, если форматирование на этот вопрос прекращено, я впервые пишу! Любая помощь будет супер очень ценится.
1 ответ
Я столкнулся с подобной проблемой. Вам нужно только создать переменную для первого слоя, остальные не должны быть переменными.
this.map = this.add.tilemap('gameWorld');
this.map.addTilesetImage('gameworld', 'tiles');
this.Background = this.map.createLayer('Background');
this.Background.resizeWorld();
this.map.createLayer('WallBlocks');
this.map.createLayer('Grass');
this.map.createLayer('SpikeAnimation');
this.map.createLayer('DiamondAnimation');
this.map.createLayer('SlimeAnimation');