home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Champak 110
/
jogo-disk-110.iso
/
Games
/
tobby_sucuri.swf
/
scripts
/
frame_32
/
DoAction.as
Wrap
Text File
|
2008-11-12
|
3KB
|
105 lines
function swimKame(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;
}
swimKame.prototype.initLoc = function(nx, ny)
{
this.px = nx;
this.py = ny;
};
swimKame.prototype.swim = function()
{
var _loc1_ = this;
_loc1_.px += _loc1_.vx * _loc1_.speed;
_loc1_.py += _loc1_.vy * _loc1_.speed;
_loc1_.speed *= 0.9;
if(_loc1_.speed < 1)
{
_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];
};
swimKame.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");
}
};
swimKame.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");
};
swimKame.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;
};