我正在尝试从随机生成的代表我的水平的矩阵中绘制一个小型地图。
为此,我一个接一个地绘制黑色或白色小方块以可视方式表示矩阵(我不知道这是使用移相器的最佳方法,实际上,我是此框架的初学者)
该地图正确绘制,但其位置绑定到世界而不是摄影机,因此当我移动时,它不再可见。
这是我用来绘制地图的代码:
generate() {
let wallsGraphics = this._scene.add.graphics({fillStyle : {color : LabyrinthConfig.MAPS.MINI_MAP.WALLS_COLOR}});
let pathGraphics = this._scene.add.graphics({fillStyle : {color : LabyrinthConfig.MAPS.MINI_MAP.PATH_COLOR}});
// Draw the map
let y = 0;
for (let line of this._matrix) {
let x = 0;
for (let cell of line) {
let rect = new Phaser.Geom.Rectangle();
rect.width = LabyrinthConfig.MAPS.MINI_MAP.CELL_WIDTH;
rect.height = LabyrinthConfig.MAPS.MINI_MAP.CELL_HEIGHT;
rect.x = LabyrinthConfig.MAPS.MINI_MAP.POSITION_X + x * LabyrinthConfig.MAPS.MINI_MAP.CELL_WIDTH;
rect.y = LabyrinthConfig.MAPS.MINI_MAP.POSITION_Y + y * LabyrinthConfig.MAPS.MINI_MAP.CELL_HEIGHT;
cell === 0 ? wallsGraphics.fillRectShape(rect) : pathGraphics.fillRectShape(rect);
x++;
}
y++;
}
}
有关如何将此地图固定到相机视图的任何帮助吗?
答案 0 :(得分:1)
将图形对象的滚动系数设置为0。
wallsGraphics.setScrollFactor(0);
pathGraphics.setScrollFactor(0);