Changeset 2914

Show
Ignore:
Timestamp:
12/09/07 02:58:56 (5 years ago)
Author:
gyuque
Message:

lang/actionscript/swfgmap: implemented rotation reset button.

Location:
lang/actionscript/swfgmap/trunk
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • lang/actionscript/swfgmap/trunk/TestApp.as

    r2913 r2914  
    3838                protected function onSpinner(e:SliderEvent):void 
    3939                { 
    40                         mCurrentViewport.setNewRotation(mSpnr.value); 
    41                         fireViewportChange(); 
     40                        setViewRotation(mSpnr.value); 
    4241                } 
    4342                 
    4443                protected function onSpinReset(e:MouseEvent):void 
    4544                { 
    46                         var a:SpinResetAnimation = new SpinResetAnimation(mCurrentViewport); 
     45                        var a:SpinResetAnimation = new SpinResetAnimation(this, mSpnr.value); 
    4746                        addAnimation(a); 
    4847                } 
     48                 
     49                public override function setViewRotation(rad:Number):void 
     50                { 
     51                        mSpnr.value = rad; 
     52                        super.setViewRotation(rad); 
     53                }                
     54                 
    4955        } 
    5056} 
  • lang/actionscript/swfgmap/trunk/gyuque/gmap/GMapView.as

    r2913 r2914  
    5959                { 
    6060                        mCurrentViewport = v; 
     61                        fireViewportChange(); 
     62                } 
     63                 
     64                public function setViewRotation(rad:Number):void 
     65                { 
     66                        mCurrentViewport.setNewRotation(rad); 
    6167                        fireViewportChange(); 
    6268                } 
  • lang/actionscript/swfgmap/trunk/gyuque/gmap/SpinResetAnimation.as

    r2913 r2914  
    33        public class SpinResetAnimation extends Animation 
    44        { 
    5                 private var mViewport:GMapViewport; 
    6                 public function SpinResetAnimation(vp:GMapViewport) 
     5                private var mView:GMapView; 
     6                private var mStart:Number; 
     7                private var STEPS:int = 6; 
     8                private var mCount:int = 0; 
     9                 
     10                public function SpinResetAnimation(v:GMapView, start:Number) 
    711                { 
    8                         mViewport = vp; 
     12                        mView = v; 
     13                        if (start > Math.PI) 
     14                                start -= Math.PI*2; 
     15                        mStart = start; 
    916                } 
    1017                 
    1118                public override function next():Boolean 
    1219                { 
    13                         return false; 
     20                        if (++mCount == STEPS) 
     21                        { 
     22                                mView.setViewRotation(0); 
     23                                return false; 
     24                        } 
     25                         
     26                        mView.setViewRotation(mStart / Math.pow(1.9, mCount)); 
     27                         
     28                        return true; 
    1429                } 
    1530                 
    1631                public override function skip():void 
    1732                { 
     33                        mView.setViewRotation(0); 
    1834                } 
    1935        }