home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Acao / BugTime.swf / scripts / DefineSprite_115 / frame_1 / DoAction.as
Encoding:
Text File  |  2005-10-04  |  1.6 KB  |  80 lines

  1. gunx = _X;
  2. guny = _Y;
  3. sx = getProperty("../ship", _X);
  4. sy = getProperty("../ship", _Y);
  5. mouse_x = sx - gunx;
  6. mouse_y = sy - guny;
  7. if(Number(mouse_x) < 0)
  8. {
  9.    abs_mouse_x = Number(mouse_x) + Number(mouse_x * -2);
  10.    xsign = -1;
  11. }
  12. else
  13. {
  14.    abs_mouse_x = mouse_x;
  15.    xsign = 1;
  16. }
  17. if(Number(mouse_y) < 0)
  18. {
  19.    abs_mouse_y = Number(mouse_y) + Number(mouse_y * -2);
  20.    ysign = -1;
  21. }
  22. else
  23. {
  24.    abs_mouse_y = mouse_y;
  25.    ysign = 1;
  26. }
  27. input = Number(abs_mouse_x * abs_mouse_x) + Number(abs_mouse_y * abs_mouse_y);
  28. call("sqrt");
  29. hyp = output;
  30. sin_theta = abs_mouse_y / hyp;
  31. counter = 0;
  32. found = 0;
  33. while(!found)
  34. {
  35.    if(Number(eval("..:sine_lookup_table").substr(Number(counter * 6) + 1,5)) <= Number(sin_theta))
  36.    {
  37.       angle = counter;
  38.    }
  39.    else
  40.    {
  41.       found = 1;
  42.    }
  43.    counter = Number(counter) + 1;
  44. }
  45. if(Number(sx) < Number(gunx))
  46. {
  47.    angle = Number(90 - angle) + 90;
  48. }
  49. if(Number(sy) > Number(guny))
  50. {
  51.    angle = Number(angle) + 180;
  52. }
  53. else
  54. {
  55.    angle = Number(90 - angle) + 90;
  56. }
  57. _rotation = angle;
  58. divx = gunx - sx;
  59. divy = guny - sy;
  60. if(Number(shooting) == 0)
  61. {
  62.    if(Number(divx) > Number(eval("/:threshold")))
  63.    {
  64.       _X = _X - eval("/:playerspeed");
  65.    }
  66.    else if(Number(divx) < Number(- eval("/:threshold")))
  67.    {
  68.       _X = Number(_X) + Number(eval("/:playerspeed"));
  69.    }
  70.    if(Number(divy) > Number(eval("/:threshold")))
  71.    {
  72.       _Y = _Y - eval("/:playerspeed");
  73.    }
  74.    else if(Number(divy) < Number(- eval("/:threshold")))
  75.    {
  76.       _Y = Number(_Y) + Number(eval("/:playerspeed"));
  77.    }
  78. }
  79. call("hittest");
  80.