1、将显示元素添加给舞台

示例

  1. var app=newPIXI.Application(500,600);
  2. document.body.appendChild(app.view);
  3. var bg=newPIXI.Sprite.fromImage("res/plane/bg/img_bg_level_3.jpg");
  4. app.stage.addChild(bg);
  5. var plane=newPIXI.Sprite.fromImage("res/plane_blue_01.png");
  6. app.stage.addChild(plane);

代码讲解

1、将bg图片添加给舞台

app.stage.addChild(bg);

2、将plane图片添加给舞台

app.stage.addChild(plane);
注意:我们之前添加显示元素,都是将显示元素直接添加给舞台。

2、将显示元素添加给其他显示元素

我们向游戏中添加显示元素时,不仅可以将显示元素添加给舞台,也可以将显示元素添加给另一个显示元素。

示例

  1. var app=newPIXI.Application(500,700);
  2. document.body.appendChild(app.view);
  3. var bg=newPIXI.Sprite.fromImage("res/plane/bg/img_bg_level_3.jpg");
  4. app.stage.addChild(bg);//将bg添加给舞台
  5. var plane=newPIXI.Sprite.fromImage("res/plane_blue_01.png");
  6. plane.anchor.set(0.5,0.5);
  7. app.stage.addChild(plane);//将plane添加给舞台
  8. var leftPlane=newPIXI.Sprite.fromImage("res/plane/liaoji_01_11.png");
  9. leftPlane.anchor.set(0.5,0.5);
  10. leftPlane.x=-100;
  11. leftPlane.y=60;
  12. plane.addChild(leftPlane);//将leftPlane添加给plane
  13. var rightPlane=newPIXI.Sprite.fromImage("res/plane/liaoji_01_11.png");
  14. rightPlane.anchor.set(0.5,0.5);
  15. rightPlane.x=100;
  16. rightPlane.y=60;
  17. plane.addChild(rightPlane);//将rightPlane添加给plane
  18. bg.interactive=true;
  19. bg.on("mousemove",movePlane);
  20. function movePlane(event){
  21. var pos=event.data.getLocalPosition(app.stage);
  22. plane.x=pos.x;
  23. plane.y=pos.y;
  24. }

代码讲解

1、将leftPlane图片,添加给plane图片

plane.addChild(leftPlane);

2、将rightPlane图片,添加给plane图片

plane.addChild(rightPlane);
注意:当我们将rightPlane图片,添加给plane图片时
1、rightPlane图片会随着plane图片的移动而移动
2、设置rightPlane图片的x、y时,rightPlane将不再以窗口的左上角为坐标原点,而是以plane图片的锚点为坐标原点。
如下图:

图片图层 - 图2

3、图层与显示效果

var app = new PIXI.Application(500,500);
document.body.appendChild(app.view);


var plane = new PIXI.Sprite.fromImage("res/plane_blue_01.png");//飞机
plane.anchor.set(0.5,0.5);
plane.x = 200;
plane.y = 200;
app.stage.addChild(plane);


var yun = new PIXI.Sprite.fromImage("res/texiao/yun01.png");//云
yun.anchor.set(0.5,0.5);
yun.x = 240;
yun.y = 300;
app.stage.addChild(yun);


var boom = new PIXI.Sprite.fromImage("res/texiao/bao01.png");//爆炸效果
boom.anchor.set(0.5,0.5);
plane.addChild(boom);

为什么boom图片,没有出现在图层的最顶端?
越在后面添加的图片越靠上,压在前面的图片图层上,但是这个爆炸效果添加在飞机图层上,而不是舞台上
2021-08-31_201342.jpg