var app = new PIXI.Application(500,600);
document.body.appendChild(app.view);
var bg = new PIXI.Sprite.fromImage(“res/plane/bg/img_bg_level_3.jpg”);
app.stage.addChild(bg);
var bulletList = [];//长机子弹列表
var leftBulletList = [];//左僚机子弹列表
var rightBulletList = [];//右僚机子弹列表
var enemyList = [];//敌机列表
//长机
var plane = new PIXI.Sprite.fromImage(“res/plane_blue_01.png”);
plane.anchor.set(0.5,0.5);
plane.x = 250;
plane.y = 500;
app.stage.addChild(plane);
//左僚机
var planeLeft = new PIXI.Sprite.fromImage(“res/plane/liaoji_02_11.png”);
planeLeft.anchor.set(0.5,0.5);
planeLeft.x = -100;
planeLeft.y = 50;
plane.addChild(planeLeft);
//右僚机
var planeRight = new PIXI.Sprite.fromImage(“res/plane/liaoji_02_11.png”);
planeRight.anchor.set(0.5,0.5);
planeRight.x = 100;
planeRight.y = 50;
plane.addChild(planeRight);
//移动鼠标
bg.interactive = true;
bg.on(“mousemove”,movePlane);
function movePlane(event){
var pos = event.data.getLocalPosition(app.stage);
plane.x = pos.x;
plane.y = pos.y;
}
//帧频函数
app.ticker.add(animate);
function animate(){
createBullet();
moveBullet();
createEnemy();
moveEnemy();
crash();
}
//创建子弹
var cbIndex = 0;
function createBullet(){
if(cbIndex == 10){
//长机子弹
var bullet = new PIXI.Sprite.fromImage(“res/plane/bullet/img_bullet_14.png”);
bullet.anchor.set(0.5,0.5);
bullet.x = plane.x;
bullet.y = plane.y - 50;
app.stage.addChild(bullet);
bulletList.push(bullet);
//左僚机子弹
var leftBullet = new PIXI.Sprite.fromImage(“res/plane/bullet/img_bullet_13.png”);
leftBullet.anchor.set(0.5,0.5);
leftBullet.x = plane.x-100;
leftBullet.y = plane.y - 10;
app.stage.addChild(leftBullet);
leftBulletList.push(leftBullet);
//右僚机子弹
var rightBullet = new PIXI.Sprite.fromImage(“res/plane/bullet/img_bullet_13.png”);
rightBullet.anchor.set(0.5,0.5);
rightBullet.x = plane.x+100;
rightBullet.y = plane.y - 10;
app.stage.addChild(rightBullet);
rightBulletList.push(rightBullet);
cbIndex = 0;
}
cbIndex++;
}
//移动子弹
function moveBullet(){
//移动长机子弹
for(var i=bulletList.length-1;i>=0;i—){
var bullet = bulletList[i];
bullet.y -= 10;
if(bullet.y < -100){
app.stage.removeChild(bullet);
bulletList.splice(i,1);
}
}
//移动左僚机子弹
for(var i=leftBulletList.length-1;i>=0;i—){
var leftBullet = leftBulletList[i];
leftBullet.y -= 10;
if(leftBullet.y < -100){
app.stage.removeChild(leftBullet);
leftBulletList.splice(i,1);
}
}
//移动右僚机子弹
for(var i=rightBulletList.length-1;i>=0;i—){
var rightBullet = rightBulletList[i];
rightBullet.y -= 10;
if(rightBullet.y < -100){
app.stage.removeChild(rightBullet);
rightBulletList.splice(i,1);
}
}
}
//创建敌机
var ceIndex = 0;
function createEnemy(){
if(ceIndex == 30){
var enemy = new PIXI.Sprite.fromImage(“res/enemy_04.png”);
enemy.anchor.set(0.5,0.5);
enemy.x = Math.random()500;
enemy.y = -100;
app.stage.addChild(enemy);
enemyList.push(enemy);
ceIndex = 0;
}
ceIndex++;
}
//移动敌机
function moveEnemy(){
for(var i=enemyList.length-1;i>=0;i—){
var enemy = enemyList[i];
enemy.y += 5;
if(enemy.y > 700){
app.stage.removeChild(enemy);
enemyList.splice(i,1);
}
}
}
//碰撞
function crash(){
var a = false;
for(var i=enemyList.length-1;i>=0;i—){
for(var j=bulletList.length-1;j>=0;j—){
var max1 = 42+37;
var c1 = bulletList[j].x-enemyList[i].x;
var c2 = bulletList[j].y-enemyList[i].y;
if(max1max1>c1c1+c2c2){
app.stage.removeChild(bulletList[j]);
app.stage.removeChild(enemyList[i]);
bulletList.splice(j,1);
enemyList.splice(i,1);
a = true;
break;
}
}
if(a===true){
break;
}
//左僚机子弹
for(var k=leftBulletList.length-1;k>=0;k—){
var max2 = 37+13;
var c3 = leftBulletList[k].x-enemyList[i].x;
var c4 = leftBulletList[k].y-enemyList[i].y;
if(max2max2>c3c3+c4c4){
app.stage.removeChild(leftBulletList[k]);
app.stage.removeChild(enemyList[i]);
leftBulletList.splice(k,1);
enemyList.splice(i,1);
a = true;
break;
}
}
if(a===true){
break;
}
//右僚机子弹
for(var p=rightBulletList.length-1;p>=0;p—){
var max3 = 37+13;
var c5 = rightBulletList[p].x-enemyList[i].x;
var c6 = rightBulletList[p].y-enemyList[i].y;
if(max3max3>c5c5+c6c6){
app.stage.removeChild(rightBulletList[p]);
app.stage.removeChild(enemyList[i]);
rightBulletList.splice(p,1);
enemyList.splice(i,1);
a = true;
break;
}
}
if(a===true){
break;
}
}
}