[Phaser] Depth 변경
Depth 변경
bringToTop
this.children.bringToTop([Object]); // 현재 scene에서 사용
this.scene.bringToTop(); // scene이 여러개 있을 경우 현재 scene을 가장 위로 올림
this.shapes.forEach((shape:any) => {
this.children.bringToTop(shape);
});
sendToBack
this.children.sendToBack([Object]); // 현재 scene에서 사용
this.scene.sendToBack([Object]); // scene이 여러개 있을 경우 현재 scene을 가장 아래로 내림
swapPosition
두개의 scene이 있을 경우 다른 scene과 position을 swap 한다.
this.scene.swapPosition([other scene key]);
class Background extends Phaser.Scene
{
constructor ()
{
super({ key: 'background', active: true });
}
}
class Demo extends Phaser.Scene
{
create ()
{
this.scene.swapPosition('background'); // scene 끼리 position을 swap 한다.
}
}
const config = {
..........
scene: [ Background, Demo ]
};
이렇게 하면 현재 scene 에서 맨 위로 올린다. 특정 위치에 끼워 넣을때...
[Object].depth = this.scene.scene.children.list.length;