Changeset 2693 for lang/actionscript/swfgmap
- Timestamp:
- 12/07/07 04:14:27 (13 months ago)
- Location:
- lang/actionscript/swfgmap/trunk
- Files:
-
- 3 modified
-
TestApp.as (modified) (1 diff)
-
TestApp.swf (modified) (previous)
-
gyuque/gmap/ui/Spinner.as (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/actionscript/swfgmap/trunk/TestApp.as
r2666 r2693 30 30 spnr.x = 8; 31 31 spnr.y = 8; 32 spnr.buttonMode = true;33 32 mSpnr = spnr; 34 33 } -
lang/actionscript/swfgmap/trunk/gyuque/gmap/ui/Spinner.as
r2686 r2693 10 10 private var mSize:int; 11 11 private var mBaseRing:Sprite; 12 private var mCaptureRing:Sprite; 12 13 private var mCursor:Sprite; 14 15 private var mResetBtn:SpinResetButton; 13 16 14 17 private var mRGradColors:Array; … … 33 36 mCursor = new Sprite(); 34 37 drawBaseRing(mBaseRing.graphics, mCursor.graphics, graphics); 38 39 mCaptureRing = new Sprite(); 40 mCaptureRing.graphics.beginFill(0); 41 mCaptureRing.graphics.drawCircle(sz/2, sz/2, sz); 42 mCaptureRing.mouseEnabled = false; 43 mCaptureRing.visible = false; 44 addChild(mCaptureRing); 45 35 46 mBaseRing.addChild(mCursor); 36 47 mCursor.x = sz/2; … … 38 49 mCursor.mouseEnabled = false; 39 50 40 addChild(mBaseRing);41 42 51 mBaseRing.addEventListener(MouseEvent.MOUSE_MOVE , onRingMouseMove); 43 52 mBaseRing.addEventListener(MouseEvent.MOUSE_DOWN , onRingMouseDown); 44 53 mBaseRing.addEventListener(MouseEvent.MOUSE_UP , onRingMouseUp); 45 54 mBaseRing.addEventListener(MouseEvent.MOUSE_OUT , onRingMouseOut); 55 56 mResetBtn = new SpinResetButton(); 57 mResetBtn.x = sz/2; 58 mResetBtn.y = sz/2; 59 addChild(mResetBtn); 60 mBaseRing.buttonMode = true; 61 mBaseRing.useHandCursor = true; 62 63 addChild(mBaseRing); 46 64 47 65 mValue = 0; … … 83 101 84 102 mDrag.dragging = true; 103 mBaseRing.hitArea = mCaptureRing; 85 104 mDrag.update(e.localX - mSize/2, e.localY - mSize/2); 86 105 } … … 89 108 { 90 109 e.stopPropagation(); 91 110 endDrag(); 111 } 112 113 protected function onRingMouseOut(e:MouseEvent):void 114 { 115 e.stopPropagation(); 116 endDrag(); 117 } 118 119 protected function endDrag():void 120 { 92 121 mDrag.dragging = false; 93 } 94 95 protected function onRingMouseOut(e:MouseEvent):void 96 { 97 e.stopPropagation(); 98 99 mDrag.dragging = false; 122 mBaseRing.hitArea = null; 100 123 } 101 124 … … 167 190 } 168 191 } 192 193 class SpinResetButton extends flash.display.SimpleButton 194 { 195 import flash.display.*; 196 197 public function SpinResetButton() 198 { 199 var s:Sprite = new SpinResetButtonSprite(16, true); 200 upState = s; 201 hitTestState = upState; 202 overState = s; 203 downState = new SpinResetButtonSprite(16); 204 downState.y = 1; 205 } 206 } 207 208 class SpinResetButtonSprite extends flash.display.Sprite 209 { 210 import flash.display.*; 211 212 protected var mBGradColors:Array; 213 protected var mBGradAlphas:Array; 214 protected var mBGradRatios:Array; 215 protected var mBGradMatrix:flash.geom.Matrix; 216 protected var mBorderColor:uint = 0x999999; 217 218 protected var mHGradColors:Array; 219 protected var mHGradAlphas:Array; 220 protected var mHGradRatios:Array; 221 protected var mHGradMatrix:flash.geom.Matrix; 222 223 protected var mSize:Number; 224 225 public function SpinResetButtonSprite(sz:Number, shadowing:Boolean = false) 226 { 227 mSize = sz; 228 createGradientData(sz); 229 var g:Graphics = graphics; 230 231 if (shadowing) 232 drawShadow(g, sz); 233 234 g.beginGradientFill(GradientType.RADIAL, mBGradColors, mBGradAlphas, mBGradRatios, mBGradMatrix); 235 g.lineStyle(1, mBorderColor); 236 g.drawCircle(0, 0, sz); 237 g.endFill(); 238 drawHighlight(g, sz); 239 } 240 241 protected function drawShadow(g:Graphics, sz:Number):void 242 { 243 g.beginFill(0, 0.1); 244 g.lineStyle(1, 0, 0.1); 245 g.drawCircle(1, 2, sz); 246 g.endFill(); 247 } 248 249 protected function drawHighlight(g:Graphics, sz:Number):void 250 { 251 g.beginGradientFill(GradientType.RADIAL, mHGradColors, mHGradAlphas, mHGradRatios, mHGradMatrix); 252 g.lineStyle(); 253 g.drawCircle(0, 0, sz*0.9); 254 } 255 256 protected function createGradientData(sz:Number):void 257 { 258 mBGradColors = [0xf0f0f0, 0xeeeeee, 0xeeeeee, 0xffffff, 0xd0d0d0]; 259 mBGradAlphas = [1,1,1,1,1]; 260 mBGradRatios = [0, 180, 200, 218, 255]; 261 mBGradMatrix = new flash.geom.Matrix(); 262 mBGradMatrix.createGradientBox(sz*2, sz*2, 0, -sz, -sz*1.05); 263 264 mHGradColors = [0xffffff, 0xffffff, 0xffffff]; 265 mHGradAlphas = [0,0.4,1]; 266 mHGradRatios = [70, 80, 200]; 267 mHGradMatrix = new flash.geom.Matrix(); 268 mHGradMatrix.createGradientBox(sz*8, sz*4, 0, -sz*3.9, -sz*1.4); 269 270 } 271 }
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)