home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Champak 110
/
jogo-disk-110.iso
/
Games
/
tobby_sucuri.swf
/
scripts
/
frame_34
/
DoAction.as
Wrap
Text File
|
2008-11-12
|
4KB
|
139 lines
function swimSame(nthis)
{
var _loc1_ = this;
var _loc2_ = nthis;
_loc1_.myNum = _loc2_.myNum;
_loc1_.px = _loc2_.px;
_loc1_.py = _loc2_.py;
_loc1_.limitHx = _loc2_._width / 2;
_loc1_.limitHy = _loc2_.limitHy;
_loc1_.ParentMC = _loc2_;
0;
_loc1_.nv = undefined;
_loc1_.initV();
_loc1_.rotation = 0;
_loc1_.pCnt = 0;
_loc1_.oldSpeed = _loc1_.speed;
_loc1_.attackCnt = 0;
}
swimSame.prototype.initLoc = function(nx, ny)
{
this.px = nx;
this.py = ny;
};
swimSame.prototype.swim = function()
{
var _loc1_ = this;
var _loc2_ = _root;
if(_loc1_.attackCnt == 0)
{
if(_loc2_.poiMC.stat == "inWater")
{
var _loc3_ = Math.abs(_loc2_.poiMC._y - _loc1_.py);
var d2 = Math.abs(_loc2_.poiMC._x - _loc1_.px);
if(_loc3_ < 40 && d2 > 80)
{
_loc1_.initV2();
_loc1_.attackCnt = 10;
}
}
}
else
{
if(_loc1_.ParentMC.hitTest(_loc2_.poiMC.anmMC.hitMC))
{
_loc2_.poiMC.sameAttack(25);
}
_loc1_.attackCnt = _loc1_.attackCnt - 1;
}
_loc1_.px += _loc1_.vx * _loc1_.speed;
_loc1_.py += _loc1_.vy * _loc1_.speed;
_loc1_.speed *= 0.99;
if(_loc1_.speed < 2)
{
_loc1_.initV();
}
_loc1_.wallEvasion();
if(_loc1_.vx < 0)
{
_loc1_.ParentMC._xscale = Math.abs(_loc1_.ParentMC._xscale);
}
else
{
_loc1_.ParentMC._xscale = - Math.abs(_loc1_.ParentMC._xscale);
}
return [_loc1_.px,_loc1_.py,_loc1_.rotation];
};
swimSame.prototype.wallEvasion = function()
{
var _loc1_ = this;
var _loc2_ = _root;
if(_loc1_.px <= _loc2_.limitLeft + _loc1_.limitHx)
{
_loc1_.px = _loc2_.limitLeft + _loc1_.limitHx;
_loc1_.vx = - _loc1_.vx;
_loc1_.ParentMC.anmMC.gotoAndPlay("swim");
}
if(_loc1_.px >= _loc2_.limitRight - _loc1_.limitHx)
{
_loc1_.px = _loc2_.limitRight - _loc1_.limitHx;
_loc1_.vx = - _loc1_.vx;
_loc1_.ParentMC.anmMC.gotoAndPlay("swim");
}
if(_loc1_.py <= _loc2_.limitTop + _loc1_.limitHy)
{
_loc1_.py = _loc2_.limitTop + _loc1_.limitHy;
_loc1_.vy = - _loc1_.vy;
_loc1_.ParentMC.anmMC.gotoAndPlay("swim");
}
if(_loc1_.py >= _loc2_.limitBottom - _loc1_.limitHy)
{
_loc1_.py = _loc2_.limitBottom - _loc1_.limitHy;
_loc1_.vy = - _loc1_.vy;
_loc1_.ParentMC.anmMC.gotoAndPlay("swim");
}
};
swimSame.prototype.initV = function()
{
var _loc3_ = this;
var _loc2_ = _root.randomInt(30) - 15;
var _loc1_ = _root.randomInt(20) - 10;
_loc3_.speed = Math.sqrt(_loc2_ * _loc2_ + _loc1_ * _loc1_);
var nv = _loc3_.normalize(_loc2_,_loc1_);
_loc3_.vx = nv.x;
_loc3_.vy = nv.y;
_loc3_.ParentMC.anmMC.gotoAndPlay("swim");
};
swimSame.prototype.initV2 = function()
{
var _loc1_ = this;
var nvx = _root.poiMC._x - _loc1_.px;
var _loc3_ = _root.poiMC._y - _loc1_.py;
_loc1_.speed = 20;
var _loc2_ = _loc1_.normalize(nvx,_loc3_);
_loc1_.vx = _loc2_.x;
_loc1_.vy = _loc2_.y;
_loc1_.ParentMC.anmMC.gotoAndPlay("swim2");
};
swimSame.prototype.normalize = function(nx, ny)
{
var _loc2_ = ny;
var _loc3_ = nx;
var _loc1_ = Math.sqrt(_loc3_ * _loc3_ + _loc2_ * _loc2_);
if(_loc1_ > 0)
{
_loc3_ /= _loc1_;
_loc2_ /= _loc1_;
}
else
{
_loc3_ = 0;
_loc2_ = 0;
}
var nv = new Object();
nv.x = _loc3_;
nv.y = _loc2_;
nv.p = _loc1_;
return nv;
};