Advertisement
Guest User

Untitled

a guest
Jan 10th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. movingTimer = new Timer(1000/Init.stageFrameRate);
  2.             movingTimer.addEventListener(TimerEvent.TIMER, onFrame);
  3.             movingTimer.start();
  4.             addEventListener(Event.REMOVED_FROM_STAGE, removedFromStageListener);
  5.             // var movingTimer:Timer = new Timer(41);
  6.             // var movingTimer:Timer = new Timer(10);
  7.             // movingTimer.addEventListener(TimerEvent.TIMER, onFrame);
  8.             // movingTimer.start();
  9.  
  10.             addEventListener(MouseEvent.MOUSE_DOWN, onDown);
  11.             addEventListener(KeyboardEvent.KEY_DOWN, onDownKey);
  12.             //ЗАПУСКАЕМ ТАЙМЕР
  13.             //moveTimer = new Timer(1000/Init.timerFreq);
  14.             //moveTimer.addEventListener(TimerEvent.TIMER, onTick);
  15.             //moveTimer.start();
  16.             //addEventListener(MouseEvent.CLICK, onClick);
  17.             //addEventListener(MouseEvent.MOUSE_UP, onUp);
  18.             //addEventListener(MouseEvent.MOUSE_OUT, onOut);
  19.         }
  20.  
  21.         private function removedFromStageListener(e:Event):void
  22.         {
  23.             movingTimer.stop();
  24.             movingTimer.removeEventListener(TimerEvent.TIMER, onFrame);
  25.             movingTimer = null;
  26.             removeEventListener(Event.REMOVED_FROM_STAGE, removedFromStageListener);
  27.         }
  28.        
  29.         private function onDownKey(event:KeyboardEvent):void {
  30.             //необходимо! т.к. в процессе обработки события изменяется event.stageX и Y
  31.             //во время изменения x,y-координат слоя BackL при изменении BackL.puCenter
  32.             //var ex:Number = BackL.layer.x;
  33.             //var ey:Number = BackL.layer.y;
  34.            
  35.             var ex:Number = BackL.puCenter.x;
  36.             var ey:Number = BackL.puCenter.y;
  37.             trace(ex,' ',ey);
  38.        
  39.             //Bill-
  40.             dragBeginX = ex;
  41.             dragBeginY = ey;
  42.  
  43.             allowMove = false;
  44.             //но Мюнхаузен движется! и ему нужны moveX и moveY
  45.             moveX = 0;
  46.             moveY = 0;
  47.             dragBeginX0 = ex;
  48.             dragBeginY0 = ey;
  49.             //removeEventListener(Event.ENTER_FRAME, onFrame);
  50.             addEventListener(Event.ENTER_FRAME, onMoveByKey);
  51.             addEventListener(KeyboardEvent.KEY_UP, onUpKey);
  52.             /*addEventListener(MouseEvent.MOUSE_UP, onLeftArrow);
  53.             addEventListener(MouseEvent.MOUSE_UP, onUpArrow);
  54.             addEventListener(MouseEvent.MOUSE_UP, onRightArrow);
  55.             addEventListener(MouseEvent.MOUSE_UP, onDownArrow);*/
  56.            
  57.             //addEventListener(MouseEvent.MOUSE_OUT, onOut);
  58.            
  59.             inDrag = true;
  60.         }
  61.        
  62.         private function onMoveByKey(event:Event):void {
  63.             //необходимо! т.к. в процессе обработки события изменяется event.stageX и Y
  64.             //во время изменения x,y-координат слоя BackL при изменении BackL.puCenter
  65.             //trace('onMove,allowMove=', allowMove);
  66.             //var ex:Number = BackL.layer.x;
  67.             //var ey:Number = BackL.layer.y;
  68.            
  69.             addEventListener(KeyboardEvent.KEY_DOWN, onTest);
  70.             removeEventListener(KeyboardEvent.KEY_DOWN, onTest);
  71.  
  72.             //event.updateAfterEvent();
  73.         }
  74.        
  75.         private function onTest(event:KeyboardEvent):void {
  76.             //необходимо! т.к. в процессе обработки события изменяется event.stageX и Y
  77.             //во время изменения x,y-координат слоя BackL при изменении BackL.puCenter
  78.             //trace('onMove,allowMove=', allowMove);
  79.             //var ex:Number = BackL.layer.x;
  80.             //var ey:Number = BackL.layer.y;
  81.             var ex:Number = BackL.puCenter.x;
  82.             var ey:Number = BackL.puCenter.y;
  83.  
  84.             trace(ex,' ',ey);
  85.            
  86.             if(event.keyCode == 37)        //Left Arrow
  87.             {
  88.                 ex -= SHIP_SPEED;
  89.             }
  90.            
  91.             if(event.keyCode == 38)        //Up Arrow
  92.             {
  93.                 ey -= SHIP_SPEED;
  94.             }
  95.            
  96.             if(event.keyCode == 39)        //Right Arrow
  97.             {
  98.                 ex += SHIP_SPEED;
  99.             }
  100.            
  101.             if(event.keyCode == 40)        //Down Arrow
  102.             {
  103.                 ey += SHIP_SPEED;
  104.             }
  105.    
  106.             var newex:Number = (-ex+dragBeginX)*2;
  107.             var newey:Number = (-ey+dragBeginY)*2;
  108.            
  109.             dragBeginX = ex;
  110.             dragBeginY = ey;
  111.  
  112.             IncpuCenter(newex, newey);
  113.             //puCenter = new Point(puCenter.x - ex+dragBeginX,
  114.             //                   puCenter.y - ey+dragBeginY);
  115.             //двигаем фигуры вместе с небом и мышкой
  116.             drawFiguresLayer(newex, newey);
  117.  
  118.             //event.updateAfterEvent();
  119.         }
  120.        
  121.         private function onUpKey(event:MouseEvent):void {
  122.             //trace('onUp:', event.target);
  123.             inDrag = false;
  124.             removeEventListener(Event.ENTER_FRAME, onMoveByKey);
  125.             removeEventListener(KeyboardEvent.KEY_UP, onUpKey);
  126.             //removeEventListener(MouseEvent.MOUSE_OUT, onOut);
  127.  
  128.             //Bill
  129.             var ex:Number = BackL.layer.x;
  130.             var ey:Number = BackL.layer.y;
  131.             //dragBeginX = ex;
  132.             //dragBeginY = ey;
  133.             //trace('-',ey)
  134.  
  135.             //Движения неба
  136.             moveX = (dragBeginX0 - ex)/Init.stageFrameRate/2;
  137.             moveY = (dragBeginY0 - ey)/Init.stageFrameRate/2;
  138.             //trace('dragBeginY0',dragBeginY0,'dragBeginY',dragBeginY)
  139.             //trace('moveY 1',moveY)
  140.  
  141.             if (Math.abs(moveX) < 0.1 && Math.abs(moveY) < 0.1){
  142.                 allowMove = false;
  143.                 //но Мюнхаузен движется! и ему нужны moveX и moveY
  144.                 moveX = 0;
  145.                 moveY = 0;
  146.             }
  147.             else{
  148.                 allowMove = true;
  149.  
  150.                 //Max & min moves
  151.                 var max: Number = 25 / stage.frameRate * 3; //1.5
  152.                 if (Math.abs(moveX) > max)
  153.                     if (moveX>0) moveX = max
  154.                     else moveX = -max;
  155.                 if (Math.abs(moveY) > max)
  156.                     if (moveY>0) moveY = max
  157.                     else moveY = -max;
  158.  
  159.                 var min: Number = 25 / stage.frameRate * 0.2; //0.1
  160.                 if (moveX!=0)
  161.                     if (Math.abs(moveX) < min)
  162.                         if (moveX>0) moveX = min
  163.                         else moveX = -min;
  164.                 if (moveY!=0)
  165.                     if (Math.abs(moveY) < min)
  166.                         if (moveY>0) moveY = min
  167.                         else moveY = -min;
  168.                 //trace('moveY 2',moveY)
  169.  
  170.                 //округляем до 0.1
  171.                 moveX = Math.round(moveX * 10) / 10;
  172.                 moveY = Math.round(moveY * 10) / 10;
  173.                 //trace('moveY 3',moveY)
  174.             }
  175.             //addEventListener(Event.ENTER_FRAME, onFrame);
  176.             //trace(moveX, moveY);
  177.         }
  178.        
  179.         private function onDown(event:MouseEvent):void {
  180.             //необходимо! т.к. в процессе обрабюотки события изменяется event.stageX и Y
  181.             //во время изменения x,y-координат слоя BackL при изменении BackL.puCenter
  182.             var ex:Number = event.stageX;
  183.             var ey:Number = event.stageY;
  184.             var e1:Number = BackL.puCenter.x;
  185.             var e2:Number = BackL.puCenter.y;
  186.            
  187.             trace(e1,' ',e2);
  188.  
  189.             //Bill-
  190.             dragBeginX = ex;
  191.             dragBeginY = ey;
  192.  
  193.             allowMove = false;
  194.             //но Мюнхаузен движется! и ему нужны moveX и moveY
  195.             moveX = 0;
  196.             moveY = 0;
  197.             dragBeginX0 = ex;
  198.             dragBeginY0 = ey;
  199.             //removeEventListener(Event.ENTER_FRAME, onFrame);
  200.             addEventListener(MouseEvent.MOUSE_MOVE, onMove);
  201.             addEventListener(MouseEvent.MOUSE_UP, onUp);
  202.             //addEventListener(MouseEvent.MOUSE_OUT, onOut);
  203.             stage.addEventListener(Event.MOUSE_LEAVE, onOut);
  204.             Mouse.cursor = MouseCursor.HAND;
  205.             inDrag = true;
  206.         }
  207.  
  208.         private function onMove(event:MouseEvent):void {
  209.             //необходимо! т.к. в процессе обработки события изменяется event.stageX и Y
  210.             //во время изменения x,y-координат слоя BackL при изменении BackL.puCenter
  211.             //trace('onMove,allowMove=', allowMove);
  212.             var ex:Number = event.stageX;
  213.             var ey:Number = event.stageY;
  214.             //trace(ey,'-')
  215.  
  216.             //trace('onMove,dragBeginX:'+dragBeginX);
  217.             /*Star
  218.             IncpuCenter(-ex+dragBeginX, -ey+dragBeginY);
  219.             //puCenter = new Point(puCenter.x - ex+dragBeginX,
  220.             //                   puCenter.y - ey+dragBeginY);
  221.             drawFiguresLayer(-ex+dragBeginX, -ey+dragBeginY);
  222.             */
  223.             //event.updateAfterEvent();
  224.             /*moveX = (dragBeginX - ex)/2.5;
  225.             moveY = (dragBeginY - ey)/2.5;
  226.             var max = 25 / stage.frameRate * 3;
  227.             if (Math.abs(moveX) > 3)
  228.                 if (moveX>0) moveX = 3
  229.                 else moveX = -3;
  230.             if (Math.abs(moveY) > 3)
  231.                 if (moveY>0) moveY = 3
  232.                 else moveY = -3;*/
  233.  
  234.             //Star
  235.             //trace (ex);
  236.             //var newex:Number = (-ex+dragBeginX0)/3;
  237.             //var newey:Number = (-ey+dragBeginY0)/3;
  238.             var newex:Number = (-ex+dragBeginX)*2;
  239.             var newey:Number = (-ey+dragBeginY)*2;
  240.             dragBeginX = ex;
  241.             dragBeginY = ey;
  242.  
  243.             IncpuCenter(newex, newey);
  244.             //puCenter = new Point(puCenter.x - ex+dragBeginX,
  245.             //                   puCenter.y - ey+dragBeginY);
  246.             //двигаем фигуры вместе с небом и мышкой
  247.             drawFiguresLayer(newex, newey);
  248.  
  249.             //event.updateAfterEvent();
  250.         }
  251.  
  252.         private function onUp(event:MouseEvent):void {
  253.             //trace('onUp:', event.target);
  254.             inDrag = false;
  255.             Mouse.cursor = MouseCursor.AUTO;
  256.             removeEventListener(MouseEvent.MOUSE_MOVE, onMove);
  257.             removeEventListener(MouseEvent.MOUSE_UP, onUp);
  258.             //removeEventListener(MouseEvent.MOUSE_OUT, onOut);
  259.  
  260.             //Bill
  261.             var ex:Number = event.stageX;
  262.             var ey:Number = event.stageY;
  263.             //dragBeginX = ex;
  264.             //dragBeginY = ey;
  265.             //trace('-',ey)
  266.  
  267.             //Движения неба
  268.             moveX = (dragBeginX0 - ex)/Init.stageFrameRate/2;
  269.             moveY = (dragBeginY0 - ey)/Init.stageFrameRate/2;
  270.             //trace('dragBeginY0',dragBeginY0,'dragBeginY',dragBeginY)
  271.             //trace('moveY 1',moveY)
  272.  
  273.             if (Math.abs(moveX) < 0.1 && Math.abs(moveY) < 0.1){
  274.                 allowMove = false;
  275.                 //но Мюнхаузен движется! и ему нужны moveX и moveY
  276.                 moveX = 0;
  277.                 moveY = 0;
  278.             }
  279.             else{
  280.                 allowMove = true;
  281.  
  282.                 //Max & min moves
  283.                 var max: Number = 25 / stage.frameRate * 3; //1.5
  284.                 if (Math.abs(moveX) > max)
  285.                     if (moveX>0) moveX = max
  286.                     else moveX = -max;
  287.                 if (Math.abs(moveY) > max)
  288.                     if (moveY>0) moveY = max
  289.                     else moveY = -max;
  290.  
  291.                 var min: Number = 25 / stage.frameRate * 0.2; //0.1
  292.                 if (moveX!=0)
  293.                     if (Math.abs(moveX) < min)
  294.                         if (moveX>0) moveX = min
  295.                         else moveX = -min;
  296.                 if (moveY!=0)
  297.                     if (Math.abs(moveY) < min)
  298.                         if (moveY>0) moveY = min
  299.                         else moveY = -min;
  300.                 //trace('moveY 2',moveY)
  301.  
  302.                 //округляем до 0.1
  303.                 moveX = Math.round(moveX * 10) / 10;
  304.                 moveY = Math.round(moveY * 10) / 10;
  305.                 //trace('moveY 3',moveY)
  306.             }
  307.             //addEventListener(Event.ENTER_FRAME, onFrame);
  308.             //trace(moveX, moveY);
  309.         }
  310.  
  311.         private function onOut(event:Event):void {
  312.             if (inDrag) {
  313.                 inDrag = false;
  314.                 stage.removeEventListener(Event.MOUSE_LEAVE, onOut);
  315.  
  316.                 Mouse.cursor = MouseCursor.AUTO;
  317.                 removeEventListener(MouseEvent.MOUSE_MOVE, onMove);
  318.                 removeEventListener(MouseEvent.MOUSE_UP, onUp);
  319.  
  320.                 allowMove = false;
  321.                 //но Мюнхаузен движется! и ему нужны moveX и moveY
  322.                 moveX = 0;
  323.                 moveY = 0;
  324.             }
  325.             //trace('onOut:', event.target, event.currentTarget, event.bubbles, event.eventPhase);
  326.             //trace('onOut');
  327.             //removeEventListener(MouseEvent.MOUSE_MOVE, onMove);
  328.             //removeEventListener(MouseEvent.MOUSE_UP, onUp);
  329.             //removeEventListener(MouseEvent.MOUSE_OUT, onOut);
  330.             //allowMove = true;
  331.  
  332.             //addEventListener(Event.ENTER_FRAME, onFrame);
  333.             //removeEventListener(MouseEvent.MOUSE_MOVE, onMove);
  334.             //allowMove = true;
  335.             //trace(moveX, moveY);
  336.         }
  337.  
  338.         /*private function onTick(event:TimerEvent):void{
  339.             puCenter = new Point(puCenter.x+5, puCenter.y);
  340.             event.updateAfterEvent();
  341.         }*/
  342.         //private var clickNum:uint=0;
  343.         //private var frameNum:uint=0;
  344.         private function onFrame(event:Event):void{
  345.             //trace('onFrame begin');
  346.             //++frameNum;
  347.             //if (++frameNum%100==0){
  348.             //  trace('onFrame allowMove=', allowMove);
  349.             //}
  350.             //++frameNum;
  351.             //if (++frameNum==1){
  352.                 if (allowMove){
  353.                     //puCenter = new Point(puCenter.x+moveX/*MathUtils.flashRandRangeI(1,50)*/, puCenter.y+moveY);
  354.                     //trace('onFrame IncpuCenter');
  355.                     IncpuCenter(moveX, moveY);
  356.                     //drawGlobFiguresLayer();
  357.                 }
  358.                 drawFiguresLayer(moveX, moveY);
  359.             //}
  360.             //for (var i=0; i<10000000; i++){}
  361.  
  362.             //var t = getTimer()*0.0001;
  363.             //var t = int(frameNum / 50);
  364.             //trace(t);
  365.             //removeChildAt(0);
  366.             //addChildAt(myNoise(t), 0);
  367.             //trace('onFrame end');
  368.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement