home *** CD-ROM | disk | FTP | other *** search
/ One Click 5 / ONCE005.iso / Jogos / 1636.swf / scripts / DefineSprite_114 / frame_1 / DoAction.as
Encoding:
Text File  |  2006-05-02  |  6.5 KB  |  326 lines

  1. function initialization()
  2. {
  3.    fullHp = hp;
  4.    vx = 0;
  5.    vy = 0;
  6.    startJump = false;
  7.    floorY = _parent._y;
  8.    frozenCounter = 0;
  9.    dieCounter = 0;
  10.    invincibleCounter = 0;
  11.    team = _parent.team;
  12.    rebornRate = _parent.rebornRate;
  13.    comeOutPoint = _parent.comeOutPoint;
  14.    hidePoint = _parent.hidePoint;
  15.    gameEngine.addToList("characterList" + team,{id:eval(_target),parent:eval(_parent._target)});
  16.    if(team == 0)
  17.    {
  18.       gameEngine.mainCharHp(hp,fullHp);
  19.    }
  20.    movie = eval(_parent.movie);
  21.    if(team == 1)
  22.    {
  23.       _parent._visible = false;
  24.       _parent._alpha = 0;
  25.       movie.gotoAndPlay("sleep");
  26.    }
  27.    initialized = true;
  28. }
  29. function move(s)
  30. {
  31.    _parent._x += s;
  32. }
  33. function scrollBackground()
  34. {
  35.    if(_parent._x > 400)
  36.    {
  37.       gameEngine.moveBackgroundRequest((400 - _parent._x) / 10);
  38.    }
  39.    if(_parent._x < 300)
  40.    {
  41.       gameEngine.moveBackgroundRequest((300 - _parent._x) / 10);
  42.    }
  43. }
  44. function state_Walk()
  45. {
  46.    if(_parent.input.right)
  47.    {
  48.       _parent._xscale = 100;
  49.    }
  50.    if(_parent.input.left)
  51.    {
  52.       _parent._xscale = -100;
  53.    }
  54.    if(_parent.input.attack && canAttack)
  55.    {
  56.       movie.gotoAndPlay("attack");
  57.    }
  58.    else if(_parent.input.up && canJump)
  59.    {
  60.       movie.gotoAndPlay("jump");
  61.       startJump = true;
  62.    }
  63.    else if(_parent.input.right)
  64.    {
  65.       if(canWalk)
  66.       {
  67.          movie.play();
  68.          _parent._x += walkVX;
  69.       }
  70.    }
  71.    else if(_parent.input.left)
  72.    {
  73.       if(canWalk)
  74.       {
  75.          movie.play();
  76.          _parent._x -= walkVX;
  77.       }
  78.    }
  79.    else
  80.    {
  81.       movie.stop();
  82.    }
  83. }
  84. function state_Jump()
  85. {
  86.    if(startJump)
  87.    {
  88.       vy = jumpVY;
  89.       if(_parent.input.right)
  90.       {
  91.          vx = jumpVX;
  92.       }
  93.       else if(_parent.input.left)
  94.       {
  95.          vx = - jumpVX;
  96.       }
  97.       startJump = false;
  98.    }
  99.    else if(_parent._y >= floorY)
  100.    {
  101.       _parent._y = floorY;
  102.       vx = 0;
  103.       vy = 0;
  104.       movie.state = "crouch";
  105.       movie.gotoAndPlay("crouch");
  106.    }
  107.    else if(movie.state == "jump" && _parent.input.attack && canJumpAttack)
  108.    {
  109.       movie.gotoAndPlay("jumpAttack");
  110.    }
  111. }
  112. function state_Hurt()
  113. {
  114.    if(_parent._y >= floorY)
  115.    {
  116.       _parent._y = floorY;
  117.       vx = 0;
  118.       vy = 0;
  119.       movie.state = "die";
  120.       movie.gotoAndPlay("die");
  121.    }
  122. }
  123. function state_Die()
  124. {
  125.    if(_parent._alpha > 0)
  126.    {
  127.       _parent._alpha -= 10;
  128.    }
  129.    else
  130.    {
  131.       _parent._visible = false;
  132.       var canReborn = false;
  133.       if(team == 0)
  134.       {
  135.          if(_global.life > 0)
  136.          {
  137.             gameEngine.deductLife(1);
  138.             canReborn = true;
  139.          }
  140.          else if(gameEngine.gameOver == false)
  141.          {
  142.             gameEngine.gameIsOver();
  143.          }
  144.       }
  145.       if(team == 1 && gameEngine.backgroundX >= comeOutPoint && gameEngine.backgroundX <= hidePoint && random(rebornRate) == 0 && gameEngine.stageClear == false)
  146.       {
  147.          canReborn = true;
  148.       }
  149.       if(canReborn)
  150.       {
  151.          _parent._visible = true;
  152.          _parent._y = floorY;
  153.          _parent._alpha = 100;
  154.          movie.gotoAndPlay("walk");
  155.          hp = fullHp;
  156.          if(team == 1)
  157.          {
  158.             if(random(2) == 0)
  159.             {
  160.                _parent._x = -200;
  161.                _parent._xscale = 100;
  162.             }
  163.             else
  164.             {
  165.                _parent._x = 900;
  166.                _parent._xscale = -100;
  167.             }
  168.          }
  169.          if(team == 0)
  170.          {
  171.             invincibleCounter = 125;
  172.          }
  173.       }
  174.    }
  175. }
  176. function physics()
  177. {
  178.    if(_parent._y < floorY || vy != 0)
  179.    {
  180.       _parent._y += vy;
  181.       vy += gameEngine.gravity;
  182.    }
  183.    _parent._x += vx;
  184.    if(_parent._y == floorY && vy == 0)
  185.    {
  186.       vx /= 1.5;
  187.    }
  188. }
  189. function attackBy(attacker, hpDeduct)
  190. {
  191.    hp += hpDeduct;
  192.    if(attacker._parent._xscale > 0)
  193.    {
  194.       vx = 15;
  195.    }
  196.    else
  197.    {
  198.       vx = -15;
  199.    }
  200.    if(hp <= 0)
  201.    {
  202.       hp = 0;
  203.       if(attacker._parent._xscale > 0)
  204.       {
  205.          _parent._xscale = -100;
  206.       }
  207.       else
  208.       {
  209.          _parent._xscale = 100;
  210.       }
  211.       vy = -15;
  212.       if(team == 1)
  213.       {
  214.          gameEngine.addScore(score);
  215.       }
  216.    }
  217.    if(hp > fullHp)
  218.    {
  219.       hp = fullHp;
  220.    }
  221.    attacker.frozenCounter = 2;
  222.    frozenCounter = -4;
  223.    if(team == 0)
  224.    {
  225.       invincibleCounter = 25;
  226.    }
  227. }
  228. function run()
  229. {
  230.    if(hp == 0 && movie.state != "hurt" && movie.state != "die")
  231.    {
  232.       movie.state = "hurt";
  233.       movie.gotoAndPlay("hurt");
  234.    }
  235.    if(invincibleCounter > 0)
  236.    {
  237.       invincibleCounter--;
  238.       _parent._alpha = 100 - invincibleCounter % 2 * 50;
  239.    }
  240.    if(frozenCounter == 0)
  241.    {
  242.       physics();
  243.       if(movie.state == "walk")
  244.       {
  245.          state_Walk();
  246.       }
  247.       else if(movie.state == "jump" || movie.state == "jumpAttack")
  248.       {
  249.          state_Jump();
  250.       }
  251.       else if(movie.state == "hurt")
  252.       {
  253.          state_Hurt();
  254.       }
  255.       else if(movie.state == "die")
  256.       {
  257.          state_Die();
  258.       }
  259.    }
  260.    else if(frozenCounter > 0)
  261.    {
  262.       frozenCounter--;
  263.    }
  264.    else if(frozenCounter < 0)
  265.    {
  266.       _parent._x += frozenCounter % 2 * 8 + 4;
  267.       frozenCounter++;
  268.    }
  269.    if(team == 0)
  270.    {
  271.       scrollBackground();
  272.       if(_parent._x < 0)
  273.       {
  274.          _parent._x = 0;
  275.       }
  276.       if(_parent._x > gameEngine.width)
  277.       {
  278.          _parent._x = gameEngine.width;
  279.       }
  280.    }
  281.    else
  282.    {
  283.       if(_parent._x < -200)
  284.       {
  285.          _parent._x = 900;
  286.          _parent._xscale = -100;
  287.       }
  288.       if(_parent._x > 900)
  289.       {
  290.          _parent._x = -200;
  291.          _parent._xscale = 100;
  292.       }
  293.    }
  294. }
  295. onEnterFrame = function()
  296. {
  297.    if(_parent.movie == undefined)
  298.    {
  299.       if(movieNotFound == undefined)
  300.       {
  301.          trace("WARNING: badgeCharacter:[" + _target + "] --- Instance:[movie] not found!");
  302.          movieNotFound = true;
  303.       }
  304.    }
  305.    else if(initialized == undefined)
  306.    {
  307.       gameEngine = eval(gameEngineName);
  308.       if(gameEngine == undefined)
  309.       {
  310.          if(gameEngineNotFound == undefined)
  311.          {
  312.             trace("WARNING: badgeCharacter:[" + _target + "] --- gameEngine:[" + gameEngineName + "] not found!");
  313.             gameEngineNotFound = true;
  314.          }
  315.       }
  316.       else if(gameEngine.initialized == true)
  317.       {
  318.          initialization();
  319.       }
  320.    }
  321.    else
  322.    {
  323.       run();
  324.    }
  325. };
  326.