Advertisement
tolikpunkoff

Object rotation 2

Jun 21st, 2016
528
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var MovieName="123.png";
  2. var LoadComplete=false; //флаг-индикатор показывает загрузилось или нет
  3. var lisVictim:Object = new Object();//создали слушатель для клипа
  4.  
  5. var x_fig=0;
  6. var y_fig=0;
  7. var x_c=0;
  8. var y_c=0;
  9. var alph=0;
  10. var a_vect=0;
  11. var ugol=0;
  12. var ugol_tp=0;
  13.  
  14. //преобразования градусов в радианы и обратно
  15. function gradToRad(grad:Number):Number
  16. {
  17.     rad=grad*Math.PI/180;
  18.     return rad;
  19. }
  20.  
  21. function radToGrad(rad:Number):Number
  22. {
  23.     grad=rad*180/Math.PI;
  24.     return grad;
  25. }
  26.  
  27. //обработчик слушателя*****************************
  28. lisVictim.onLoadInit = function(mc:MovieClip)
  29. {
  30.     //устанавливаем начальное состояние клипа:
  31.     imvVictim._x=(Stage.width-imvVictim._width)/2;
  32.     imvVictim._y=(Stage.height-imvVictim._height)/2;
  33.     //устанавливаем начальные значения переменных, используемых для вращения
  34.     x_fig=imvVictim._x;
  35.     y_fig=imvVictim._y;
  36.     x_c=x_fig+imvVictim._width/2;
  37.     y_c=y_fig+imvVictim._height/2;
  38.     a_vect=Math.sqrt(Math.pow(x_c-x_fig,2)+Math.pow((y_c-y_fig),2));
  39.     alph=Math.asin((y_c-y_fig)/a_vect) //угол в радианах
  40.    
  41.    
  42.     LoadComplete=true;
  43. }
  44. //конец обработчика*********************************
  45. //создаем объект-загрузчик
  46. var imageLoader:MovieClipLoader = new MovieClipLoader();
  47. imageLoader.addListener(lisVictim); //подключаем слушатель
  48. imageLoader.loadClip(MovieName, imvVictim);  //загружаем клип
  49. //*************************************************************
  50.  
  51. //*************************************************************trace
  52. var mtn=0;
  53. function vrash()
  54. {
  55.     ugol-=1;
  56.     ugol_tp=180+radToGrad(alph)+ugol;
  57.     //sincos=Math.cos(gradToRad(ugol_tp));
  58.     x_fig=a_vect*Math.cos(gradToRad(ugol_tp))+x_c;
  59.     //sincos=Math.sin(gradToRad(ugol_tp));
  60.     y_fig=a_vect*Math.sin(gradToRad(ugol_tp))+y_c;
  61.     mtn++;
  62.     imvVictim._x=x_fig+mtn;
  63.     imvVictim._y=y_fig;
  64.     imvVictim._rotation=ugol;
  65. }
  66.  
  67.  
  68. onEnterFrame=function()
  69. {
  70.     if (LoadComplete)
  71.     {
  72.         vrash();
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement