У меня есть проект с мультигеймой. У меня есть menu.js
и много игровой js-страницы.Phaser.js | Удалите tilemap перед изменением состояния
Страница загрузки menu.js
, вид правильный. После загрузки моего game.js
и возврата в menu.js
экран не совпадает. Я пробовал много решений, но ничего не работает. Я бы хотел показать тот же внешний вид с самого начала.
Menu.js
перед загрузкой game.js
Menu.js
после нагрузки game.js
Часть menu.js
var menuState = {
create: function(){
game.scale.scaleMode = Phaser.ScaleManager.SHOW_ALL;
game.scale.setGameSize(1000, 600);
game.scale.minWidth = 300;
game.scale.minHeight = 180;
game.scale.maxWidth = 1000;
game.scale.maxHeight = 600;
game.scale.pageAlignHorizontally = true;
game.scale.pageAlignVertically = true;
game.scale.updateLayout(true);
game.state.start("game");
},
start: function(){
}
}
Часть game.js
this.map = game.add.tilemap('level2');
this.map.addTilesetImage('secondMap');
this.map.setCollisionByExclusion([13, 14, 15, 16, 46, 47, 48, 49, 50, 51]);
this.map.setTileIndexCallback(225, this.test3, this);
this.map.setTileIndexCallback(228, this.test, this);
this.map.setTileIndexCallback(231, this.test2, this);
this.layer = this.map.createLayer('Tile Layer 1');
this.layer.resizeWorld();
Если удалить this.layer.resizeWorld();
и вернуться домой внешний вид правильно, и я думаю, что это map
, что делает плохой обратный внешний вид.
Я пробовал:
this.layer.destroy();
this.map.destroy();
game.world.removeAll()
game.state.clearCurrentState();
, но всегда один и тот же результат.
Если я использую:
game.state.destroy();
game.destroy();
это удалить все.
Я не вижу, где проблема.
спасибо. Прекрасно в моем случае тоже! –