home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Acao / eolica.swf / scripts / frame_7 / DoAction.as
Encoding:
Text File  |  2005-07-26  |  2.5 KB  |  87 lines

  1. t = GAME;
  2. t.parameters.focalLength = 175;
  3. t.parameters.viewAngle = 155;
  4. t.yOrigin = 0;
  5. t.y3DAdjust = Math.cos(t.parameters.viewAngle / 57.29577951308232);
  6. t.z3DAdjust = Math.sin(t.parameters.viewAngle / 57.29577951308232);
  7. t.init3D = function()
  8. {
  9.    this.createGameToScreenTableY();
  10.    this.createScreenToGameTableY();
  11.    this.mapGameToScreen = function(game_x, game_y)
  12.    {
  13.       var _loc2_ = this.gameToScreenTableY[Math.floor(game_y)];
  14.       _loc2_._x = game_x;
  15.       return _loc2_;
  16.    };
  17. };
  18. t.mapGameTo3D = function(game_x, game_y)
  19. {
  20.    var _loc2_ = game_x;
  21.    var _loc3_ = game_y * this.y3DAdjust;
  22.    var _loc4_ = game_y * this.z3DAdjust;
  23.    return {x3D:_loc2_,y3D:_loc3_,z3D:_loc4_};
  24. };
  25. t.map3DToScreen = function(x3D, y3D, z3D)
  26. {
  27.    var _loc2_ = GAME.parameters.focalLength / (z3D + GAME.parameters.focalLength);
  28.    var _loc4_ = x3D;
  29.    var _loc5_ = this.yOrigin + y3D * _loc2_;
  30.    var _loc3_ = _loc2_ * 100;
  31.    return {_x:_loc4_,_y:_loc5_,_xscale:_loc3_,_yscale:_loc3_,zRatio:_loc2_};
  32. };
  33. t.mapGameToScreen = function(game_x, game_y)
  34. {
  35.    var _loc2_ = this.mapGameTo3D(game_x,game_y);
  36.    return this.map3DToScreen(_loc2_.x3D,_loc2_.y3D,_loc2_.z3D);
  37. };
  38. t.mapScreenToGame = function(screenX, screenY)
  39. {
  40.    return {game_x:screenX,game_y:this.screenToGameTableY[Math.floor(screenY)]};
  41. };
  42. t.drawOnScreen = function(obj, applyScale)
  43. {
  44.    var _loc5_ = this.mapGameTo3D(obj.game_x,obj.game_y);
  45.    var _loc4_ = this.map3DToScreen(_loc5_.x3D,_loc5_.y3D,_loc5_.z3D);
  46.    obj.mc._x = _loc4_._x;
  47.    obj.mc._y = _loc4_._y;
  48.    if(applyScale)
  49.    {
  50.       obj.mc._xscale = _loc4_._xscale;
  51.       obj.mc._yscale = _loc4_._yscale;
  52.    }
  53.    var _loc6_ = obj.mc._y;
  54.    if(obj.mc.depth_marker != undefined)
  55.    {
  56.       _loc6_ += obj.mc.depth_marker._y * (obj.mc._xscale / 100);
  57.    }
  58.    var _loc2_ = Math.floor(_loc6_ * 100);
  59.    while(GAME.mc.getInstanceAtDepth(_loc2_) != undefined)
  60.    {
  61.       _loc2_ = _loc2_ + 1;
  62.    }
  63.    obj.mc.swapDepths(_loc2_);
  64. };
  65. t.createGameToScreenTableY = function()
  66. {
  67.    var _loc2_ = 0;
  68.    while(_loc2_ < 1200)
  69.    {
  70.       this.gameToScreenTableY[_loc2_] = this.mapGameToScreen(0,_loc2_);
  71.       _loc2_ = _loc2_ + 1;
  72.    }
  73. };
  74. t.createScreenToGameTableY = function()
  75. {
  76.    var _loc2_ = 0;
  77.    while(_loc2_ < this.gameToScreenTableY.length)
  78.    {
  79.       var _loc3_ = this.gameToScreenTableY[_loc2_];
  80.       var _loc4_ = Math.floor(_loc3_._y);
  81.       this.screenToGameTableY[_loc4_] = _loc2_;
  82.       _loc2_ = _loc2_ + 1;
  83.    }
  84. };
  85. t.gameToScreenTableY = new Array();
  86. t.screenToGameTableY = new Array();
  87.