Obfuscated Slider

var slider:MovieClip = makeSlider();
slider.addEventListener(Event.CHANGE, function(evt:Event):void{
	trace(evt.currentTarget.percent);									
});

function makeSlider():MovieClip{
	var slider:MovieClip = MovieClip(addChild(new MovieClip()));
	var circle:Sprite = Sprite(slider.addChild(new Sprite()));
	with (circle.graphics) beginFill(0x000000), drawCircle(0,0,10);
	var line:Shape = Shape(slider.addChild(new Shape()));
	with (line.graphics) lineStyle(0,0x000000), lineTo(0, 100);
	slider.x = slider.y = 100;
	circle.addEventListener(MouseEvent.MOUSE_DOWN, function(evt:Event):void{ evt.currentTarget.startDrag(false, new Rectangle(0,0,0,100)), slider.addEventListener(Event.ENTER_FRAME, onChange) });
	var stopIt:Function = function(){ stopDrag(), slider.removeEventListener(Event.ENTER_FRAME, onChange) };
	stage.addEventListener(Event.MOUSE_LEAVE, stopIt);
	stage.addEventListener(MouseEvent.MOUSE_UP, stopIt);
	return slider;
}
function onChange(evt:Event):void { evt.currentTarget.percent = evt.currentTarget.getChildAt(0).y / 100, evt.currentTarget.dispatchEvent(new Event(Event.CHANGE)) }

This is a pretty nasty implementation of a basic slider. Just felt like writing some obfuscated code today… It could probably be made even more confusing with some additional tweaks…

Have a look at the swf over at wonderfl…