<天弋夺宝> 核心代码(未注释)
2007-05-14 15:11 by 王喆(nasa), 338 visits, 收藏, 编辑
//---------------------------------------------------Over
var Over = new Object();
Over.Init = function(e)
{
Over.ent(e);
};
Over.ent = function(e)
{
e.onEnterFrame = function()
{
if (e.enabled)
{
if (e.hitTest(ship_mc.hit02_mc))
{
MySound.nexts();
_root.gotoAndStop("win");
}
}
};
};
//---------------------------------------------------NextLevel
var NextLevel = new Object();
NextLevel.Init = function(e)
{
NextLevel.ent(e);
};
NextLevel.ent = function(e)
{
e.onEnterFrame = function()
{
if (e.enabled)
{
if (e.hitTest(ship_mc.hit01_mc))
{
MySound.nexts();
_root.gotoAndStop(ship.level);
ship.ReStart();
}
}
};
};
//---------------------------------------------------PItem
var PItem = new Object();
PItem.Init = function(hitarea, e)
{
PItem.ent(hitarea, e);
};
PItem.ent = function(hitarea, e)
{
e.onEnterFrame = function()
{
if (e.enabled)
{
if (hitarea.hitTest(ship_mc.hit02_mc))
{
ship.IsHit = true;
if (!ship.IsDead)
{
if (ship.dy>1.800000)
{
ship.dead();
} else if (Math.abs(ship.dx)>0.900000)
{
ship.dead();
} else
{
MySound.eat();
ship_mc._x = ship_mc._x+ship.dx*1.500000;
ship_mc._y = ship_mc._y+ship.dy*1.300000;
ship.dy = 0;
ship.dx = 0;
e.gotoAndStop("e");
ship_mc.gotoAndStop("stop");
}
}
}
}
};
};
//---------------------------------------------------fuelstation
var fuelstation = new Object();
fuelstation.Init = function(e)
{
fuelstation.ent(e);
};
fuelstation.ent = function(e)
{
e.onEnterFrame = function()
{
if (e.hitTest(ship_mc.hit02_mc))
{
ship.IsHit = true;
if (!ship.IsDead)
{
if (ship.dy>1.800000)
{
ship.dead();
} else if (Math.abs(ship.dx)>0.900000)
{
ship.dead();
} else
{
MySound.adds();
ship_mc._x = ship_mc._x+ship.dx*1.500000;
ship_mc._y = ship_mc._y+ship.dy*1.300000;
ship.dy = 0;
ship.dx = 0;
ship.Life_add();
ship_mc.gotoAndStop("stop");
}
}
}
};
};
//---------------------------------------------------life
var life = new Object();
var life_mc = _root.life_mc;
life.Init = function()
{
life.Num = 4;
life.ent();
};
life.ent = function()
{
life_mc.onEnterFrame = function()
{
life_mc.gotoAndStop(life.Num);
};
};
//---------------------------------------------------MySound
var MySound = new Object();
MySound.l1 = function()
{
stopAllSounds();
var sbg = new Sound();
sbg.attachSound("s01");
sbg.start(0, 999);
};
MySound.l2 = function()
{
stopAllSounds();
var sbg = new Sound();
sbg.attachSound("s02");
sbg.start(0, 999);
};
MySound.l3 = function()
{
stopAllSounds();
var sbg = new Sound();
sbg.attachSound("s03");
sbg.start(0, 999);
};
MySound.fly = function()
{
var s = new Sound();
s.attachSound("ship_fly");
s.start();
};
MySound.bom = function()
{
var s = new Sound();
s.attachSound("ship_bom");
s.start();
};
MySound.eat = function()
{
var s = new Sound();
s.attachSound("ship_eat");
s.start();
};
MySound.adds = function()
{
var s = new Sound();
s.attachSound("ship_add");
s.start();
};
MySound.nexts = function()
{
var s = new Sound();
s.attachSound("ship_next");
s.start();
};
//---------------------------------------------------ship
var ship = new Object();
var ship_mc = _root.ship_mc;
var gorizont_l_mc = _root.gorizont_l;
var gorizont_u_mc = _root.gorizont_u;
var gorizont_r_mc = _root.gorizont_r;
//var fuelstation_mc = _root.fuelstation;
//var PItem_mc = _root.PItem;
var fuel_mc = _root.fuel_mc.fuel;
//trace(fuel_mc);
var hit_area_mc = _root.hit_area;
//初始化
ship.Init = function()
{
ship.level = "level01";
ship_mc._x = 40;
ship_mc._y = 40;
ship.dy = 1;
ship.dx = 0;
ship.IsDead = false;
ship.IsHit = false;
ship.benzin = 500;
ship.ent();
};
ship.ent = function()
{
ship_mc.onEnterFrame = function()
{
if (Key.isDown(Key.LEFT))
{
if (ship.benzin>0)
{
ship.dx = ship.dx-0.100000;
ship.Life_dec();
ship_mc.fire_mc.gotoAndPlay("fire");
MySound.fly();
}
ship_mc._xscale = -100;
}
if (Key.isDown(Key.RIGHT))
{
if (ship.benzin>0)
{
ship.dx = ship.dx+0.100000;
ship.Life_dec();
ship_mc.fire_mc.gotoAndPlay("fire");
MySound.fly();
}
ship_mc._xscale = 100;
}
if (Key.isDown(Key.UP))
{
ship.IsHit = false;
if (ship.benzin>0)
{
ship.dy = ship.dy-0.300000;
ship.Life_dec();
ship_mc.fire_b_mc.gotoAndPlay("fire");
MySound.fly();
}
}
/**//*
if (ship_mc.hit02_mc.hitTest(PItem_mc.hit)) {
if (ship.dy>1.800000) {
ship.dead();
} else if (Math.abs(ship.dx)>0.900000) {
ship.dead();
} else {
ship_mc._x = ship_mc._x+ship.dx*1.500000;
ship_mc._y = ship_mc._y+ship.dy*1.300000;
ship.dy = 0;
ship.dx = 0;
PItem_mc.gotoAndStop("e");
ship_mc.gotoAndStop("stop");
}
} else if (ship_mc.hit02_mc.hitTest(fuelstation_mc)) {
if (ship.dy>1.800000) {
ship.dead();
} else if (Math.abs(ship.dx)>0.900000) {
ship.dead();
} else {
ship_mc._x = ship_mc._x+ship.dx*1.500000;
ship_mc._y = ship_mc._y+ship.dy*1.300000;
ship.dy = 0;
ship.dx = 0;
ship.Life_add();
ship_mc.gotoAndStop("stop");
}
}*/ 
if (!ship.IsHit)
{
ship_mc._x = ship_mc._x+ship.dx*1.500000;
ship_mc._y = ship_mc._y+ship.dy*1.300000;
ship.dy = ship.dy+0.070000;
ship_mc._rotation = 10*ship.dx;
ship_mc.gotoAndStop("fly");
ship.SetGorizontU();
ship.SetGorizontL();
ship.SetGorizontR();
}
};
};
ship.SetGorizontU = function()
{
if (ship_mc._y<0)
{
gorizont_u_mc._visible = true;
} else
{
gorizont_u_mc._visible = false;
}
gorizont_u_mc._x = ship_mc._x;
if (gorizont_u_mc._x>500)
{
gorizont_u_mc._x = 500;
}
if (gorizont_u_mc._x<10)
{
gorizont_u_mc._x = 10;
}
gorizont_u_mc.t_txt.text = ship_mc._y*-0.100000;
};
ship.SetGorizontL = function()
{
if (ship_mc._x<0)
{
gorizont_l_mc._visible = true;
} else
{
gorizont_l_mc._visible = false;
}
gorizont_l_mc._y = ship_mc._y;
if (gorizont_l_mc._y<10)
{
gorizont_l_mc._y = 10;
}
if (gorizont_l_mc._y>380)
{
gorizont_l_mc._y = 380;
}
gorizont_l_mc.t_txt.text = ship_mc._x*-0.100000;
};
ship.SetGorizontR = function()
{
if (ship_mc._x>550)
{
gorizont_r_mc._visible = true;
} else
{
gorizont_r_mc._visible = false;
}
gorizont_r_mc._y = ship_mc._y;
if (gorizont_r_mc._y<10)
{
gorizont_r_mc._y = 10;
}
if (gorizont_r_mc._y>380)
{
gorizont_r_mc._y = 380;
}
gorizont_r_mc.t_txt.text = ship_mc._x*0.100000;
};
ship.Life_dec = function()
{
ship.benzin = ship.benzin-1;
dim = ship.benzin/500;
fuel_mc._width = 50*dim;
};
ship.Life_add = function()
{
if (ship.benzin<500)
{
ship.benzin = ship.benzin+4;
dim = ship.benzin/500;
fuel_mc._width = 50*dim;
}
};
ship.dead = function()
{
ship_mc._x = ship_mc._x+ship.dx*1.500000;
ship_mc._y = ship_mc._y+ship.dy*1.300000;
ship.dy = 0;
ship.dx = 0;
if (!ship.IsDead)
{
MySound.bom();
ship_mc.gotoAndPlay("dead");
ship.IsDead = true;
life.Num--;
ship_mc.onEnterFrame = null;
//trace("dead");
}
};
ship.ReStart = function()
{
if (life.Num<=0)
{
_root.gotoAndStop("lose");
}
ship_mc._x = 40;
ship_mc._y = 40;
ship.dy = 1;
ship.dx = 0;
ship.IsDead = false;
ship.IsHit = false;
ship.benzin = ship.benzin+200;
if (ship.benzin>500)
{
ship.benzin = 500;
}
ship.ent();
};