1、飞机发射子弹原理

飞机发射子弹,在编写代码时,有两点需要大家注意:
第一:子弹图片与飞机图片的位置
第二:子弹图片的位移
下面针对于这两点,给大家详细介绍。

第一:子弹图片与飞机图片位置

子弹图片与飞机图片,首次出现时,必须要出现在同一位置,这样才能感觉子弹是由飞机发射出去的。
如下图:
制作子弹动画 - 图1

第二:子弹图片的位移

子弹图片向上移动,当超出游戏窗口范围时要将子弹图片重新设置到飞机图片位置,重新发射。
如下图:
制作子弹动画 - 图2

2、飞机发射子弹实现

示例

  1. var app = new PIXI.Application(400,400);
  2. document.body.appendChild(app.view);
  3. var plane = PIXI.Sprite.fromImage("res/plane/plane_blue_01.png");
  4. plane.x = 200;
  5. plane.y = 300;
  6. plane.anchor.set(0.5,0.5);
  7. app.stage.addChild(plane);
  8. app.stage.interactive=true;
  9. app.stage.on('mousemove', onMove);
  10. function onMove(event) {
  11. var pos=event.data.getLocalPosition(app.stage);
  12. plane.x = pos.x;
  13. plane.y = pos.y;
  14. }
  15. var bullet = PIXI.Sprite.fromImage("res/plane/bullet_01.png");
  16. bullet.x = 200;
  17. bullet.y = 300;
  18. bullet.anchor.set(0.5,0.5);
  19. app.stage.addChild(bullet);
  20. app.ticker.add(animate);
  21. function animate() {
  22. bullet.y -= 10;
  23. if(bullet.y < 0){
  24. bullet.y = plane.y;
  25. bullet.x = plane.x;
  26. }
  27. }

代码讲解

1、飞机图片与子弹图片出现在同一位置

         飞机图片<br />var plane = PIXI.Sprite.fromImage("res/plane/plane_blue_01.png");<br />plane.x = 200;<br />plane.y = 300;<br />              子弹图片<br />var bullet = PIXI.Sprite.fromImage("res/plane/bullet_01.png"); <br />bullet.x = 200;<br />bullet.y = 300;

2、通过帧频函数,控制子弹图片位移

         function animate() {<br />bullet.y -= 10;<br />if(bullet.y < 0){<br />bullet.y = plane.y;<br />bullet.x = plane.x;<br />}<br />}<br />animate函数,控制子弹图片向上移动。<br />如果子弹图片超出游戏窗口范围,将子弹图片重新放置到飞机图片位置