Phaser 3-将形状固定到相机视图中

时间:2018-09-04 05:59:48

标签: phaser-framework

我正在尝试从随机生成的代表我的水平的矩阵中绘制一个小型地图。

为此,我一个接一个地绘制黑色或白色小方块以可视方式表示矩阵(我不知道这是使用移相器的最佳方法,实际上,我是此框架的初学者)

该地图正确绘制,但其位置绑定到世界而不是摄影机,因此当我移动时,它不再可见。

这是我用来绘制地图的代码:

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++;
    }
}

有关如何将此地图固定到相机视图的任何帮助吗?

1 个答案:

答案 0 :(得分:1)

将图形对象的滚动系数设置为0。

wallsGraphics.setScrollFactor(0);
pathGraphics.setScrollFactor(0);