The Spotlight Effect (Dimming the unselected)
Sorry for the long bout of blogging silence. I’m still trying to get used to my new traveling schedule.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.utils.Dictionary; import gs.TweenMax; import gs.plugins.ColorMatrixFilterPlugin; import gs.plugins.RemoveTintPlugin; import gs.plugins.TintPlugin; import gs.plugins.TweenPlugin; [SWF(width="400", height="400", backgroundColor="0x000000", frameRate="30")] public class Spotlight extends Sprite { private static const CIRCLE_RADIUS:Number = 10; private static const COLUMN_MAX:uint = 10; private static const ROW_MAX:uint = 10; private static const COLUMN_SPACING:Number = 20; private static const ROW_SPACING:Number = 20; private static const PADDING_X:Number = 110; private static const PADDING_Y:Number = 110; private var spotlightDict:Dictionary = new Dictionary(); private var sprites:Array = []; private var isSpotlit:Boolean = false; public function Spotlight() { //@see http://blog.greensock.com/v11Beta/ TweenPlugin.activate([ColorMatrixFilterPlugin]); var total:uint = COLUMN_MAX * ROW_MAX; for(var i:int = 0; i < total; i++) { var sprite:Sprite = new Sprite(); with(sprite.graphics) { beginFill(0xcc0000); drawCircle(0, 0, CIRCLE_RADIUS); endFill(); } sprite.x = COLUMN_SPACING * (i % COLUMN_MAX) + PADDING_X; sprite.y = ROW_SPACING * Math.floor(i / ROW_MAX) + PADDING_Y; addChild(sprite); sprites.push(sprite); sprite.addEventListener(MouseEvent.MOUSE_OVER, sprite_mouseOverHandler); } stage.addEventListener(MouseEvent.CLICK, stage_clickHandler); } protected function sprite_mouseOverHandler(event:MouseEvent):void { var sprite:Sprite = event.target as Sprite; var highlight:TweenMax = new TweenMax(sprite, 0, {colorMatrixFilter:{colorize:0xffffff, brightness: 5}}); spotlightDict[sprite] = true; } protected function stage_clickHandler(event:MouseEvent):void { if(isSpotlit) { clear(); } else { dimUnselected(); } isSpotlit = !isSpotlit; } protected function clear():void { for each(var sprite:Sprite in sprites) { TweenMax.to(sprite, 0, {colorMatrixFilter:{colorize:0x000000, amount:0}}); delete spotlightDict[sprite]; } } protected function dimUnselected():void { for each(var sprite:Sprite in sprites) { if(!spotlightDict[sprite]) { TweenMax.to(sprite, .5, {colorMatrixFilter:{colorize:0x000000, amount:0.7}}); } } } } } |
-
Oidhreachta
-
Web site hosting
-
brndn
-
Hunson
-
Hunson
-
James
-
Flocus
-
John Lindquist
-
albi
-
finalcreator
-
J. Iafrancesco
Search
Recommended Books
Speaking at FITC Toronto
Recent Posts
- Moving to johnlindquist.com
- AsyncCommand with Robotlegs, Signals, Flight, MinimalComps
- Search Widget – Robotlegs, Signals, Flight, Minimal Comps, Yahoo Astra
- FDT Super Awesome March Deal
- haXe Tutorial
- AS3 Signals Tutorial
- Preferred Video Tutorial Resolution?
- TweenMax – Tweening a timeline (Advanced Tweening)
- Robotlegs + Flight + Union Platform
- Back in the saddle
- Eclipse Theme Designer Preview
- RobotLegs Hello World Video Tutorial
- 10 Things Every Senior Flash Developer Should Know
- Efflex – 3D Effects for Flex
- MorphController – Mighty Morphing Papervision3D
Recent Comments
- شقق للبيع في الاردن on Moving to johnlindquist.com
- Annakhan006 on Augmented Reality – Recursive Webcam
- Yarout on Augmented Reality – Recursive Webcam
- Vivon on about
- Josh @ Wall Stickers on Moving to johnlindquist.com
- list of lpn courses on SpringCamera3D and Driving a Car
- rn to bsn in montgomery al on archive
- PowerPoint Recovery on Eclipse Theme Designer Preview
- cheat mw3 on Test if a plane is within the view of the camera (aka testing if culled)
- Goa Hotels on Looking around the inside of a Sphere
Categories
Archives
Preferred Video Tutorial Resolution
- 1024x768 (53%, 85 Votes)
- 1280x1024 (15%, 24 Votes)
- 1920x1080 (15%, 24 Votes)
- 800x600 (13%, 20 Votes)
- 480x320 (4%, 6 Votes)
- 640x480 (0%, 2 Votes)
Total Voters: 160


