Chapter 14 Example 3 actionscript.. forked:6favorite:0lines:37license : MIT License modified : 2009-11-05 18:39:31 Embed Tweet package { import flash.display.CapsStyle; import flash.display.Sprite; import flash.events.MouseEvent; public class ch14ex3 extends Sprite { protected const NUM_SEGMENTS:int = 10; protected var segmentRotation:Number = 0; protected var allSegments:Array; public function ch14ex3() { allSegments = new Array(); var segmentLength:Number = stage.stageWidth / NUM_SEGMENTS; var segment:Sprite = this; segment.y = stage.stageHeight/2; for (var i:int = 0; i < NUM_SEGMENTS; i++) { var childSegment:Sprite = makeSegment(segmentLength); segment.addChild(childSegment); childSegment.x = segmentLength; allSegments.push(childSegment); //every segment gets added as a child of the last one segment = childSegment; } stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); } protected function onMouseMove(event:MouseEvent):void { var segmentRotation:Number = 360/NUM_SEGMENTS * 2*((stage.mouseY / stage.stageHeight) - 0.5); for each (var segment:Sprite in allSegments) { //all rotation values are set to the same number, //yet the line curls inward progressively! //this is because every rotation affects all its children. segment.rotation = segmentRotation; } } protected function makeSegment(length:Number):Sprite { var s:Sprite = new Sprite(); s.graphics.lineStyle(16, 0x4F7302, 1, false, null, CapsStyle.NONE); s.graphics.lineTo(length, 0); return s; } } } Code Fullscreen Preview Fullscreen as3bible display list rotation MouseEvent.MOUSE_MOVE mouseY length MouseEvent addEventListener push addChild Array Sprite int Number sort new page view favorite forked pv96 forked from: Chapter 14 Exampl.. Adam.Sikora forked:0 favorite:0lines:37 (diff:3) pv128 forked from: Chapter 14 Exampl.. mroveli forked:0 favorite:0lines:37 (diff:1) pv128 forked from: Chapter 14 Exampl.. helen forked:0 favorite:0lines:37 (diff:1) pv127 forked from: Chapter 14 Exampl.. lightbricko forked:0 favorite:1lines:37 (diff:2) pv138 forked from: Chapter 14 Exampl.. pershiuan forked:0 favorite:0lines:37 (diff:2) pv192 forked from: Chapter 14 Exampl.. devtrain23 forked:0 favorite:0lines:37 (diff:2)