1、飞机发射子弹原理
飞机发射子弹,在编写代码时,有两点需要大家注意:
第一:子弹图片与飞机图片的位置
第二:子弹图片的位移
下面针对于这两点,给大家详细介绍。
第一:子弹图片与飞机图片位置
子弹图片与飞机图片,首次出现时,必须要出现在同一位置,这样才能感觉子弹是由飞机发射出去的。
如下图:
第二:子弹图片的位移
子弹图片向上移动,当超出游戏窗口范围时要将子弹图片重新设置到飞机图片位置,重新发射。
如下图:
2、飞机发射子弹实现
示例
var app = new PIXI.Application(400,400);document.body.appendChild(app.view);var plane = PIXI.Sprite.fromImage("res/plane/plane_blue_01.png");plane.x = 200;plane.y = 300;plane.anchor.set(0.5,0.5);app.stage.addChild(plane);app.stage.interactive=true;app.stage.on('mousemove', onMove);function onMove(event) {var pos=event.data.getLocalPosition(app.stage);plane.x = pos.x;plane.y = pos.y;}var bullet = PIXI.Sprite.fromImage("res/plane/bullet_01.png");bullet.x = 200;bullet.y = 300;bullet.anchor.set(0.5,0.5);app.stage.addChild(bullet);app.ticker.add(animate);function animate() {bullet.y -= 10;if(bullet.y < 0){bullet.y = plane.y;bullet.x = plane.x;}}
代码讲解
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 />如果子弹图片超出游戏窗口范围,将子弹图片重新放置到飞机图片位置
