forked from: flash on 2010-1-29
forked from flash on 2010-1-29 (diff: 85)
ActionScript3 source code
/**
* Copyright aobyrne ( http://wonderfl.net/user/aobyrne )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/tuVX
*/
// forked from Altschuler's flash on 2010-1-29
package {
import flash.geom.ColorTransform;
import com.bit101.components.HSlider;
import com.bit101.components.Label;
import com.bit101.components.NumericStepper;
import com.bit101.components.PushButton;
import flash.display.Sprite;
import flash.events.Event;
public class FlashTest extends Sprite {
private var n : Number = 0;
private const r : Number = 200;
private var label:Label;
private var hSlider:HSlider;
private var _isPlaying:Boolean;
private var pushButton:PushButton;
private var step:NumericStepper;
private var degrees:Label;
private var d:Number;
private var fractionOfCircle:Label;
public function FlashTest() {
d = 180 / Math.PI;
label = new Label(this, 0, 0, "");
new Label(this, 230,0, "degrees");
degrees = new Label(this, 267, 0,"degrees");
new Label(this, 290, 0,"fraction");
fractionOfCircle = new Label(this, 330, 0,"");
pushButton = new PushButton(this, 40, 0, '', play);
step = new NumericStepper(this, 145, 0, nsDraw);
step.minimum = 0;
step.maximum = Math.PI * 2 * 2;
step.step = 0.001;
step.labelPrecision = 3;
hSlider = new HSlider(this, 0, stage.stageHeight - 20, slideDraw);
hSlider.setSize(stage.stageWidth - 2, hSlider.height);
hSlider.minimum = 0;
hSlider.maximum = Math.PI * 2 * 2;
/*/
play();
/*/
draw(null);
isPlaying = false;
//*/
}
private function nsDraw(e:Event):void
{
n = NumericStepper(e.target).value;
draw(null);
}
private function slideDraw(e:Event):void
{
n = HSlider(e.target).value;
draw(null);
}
private function play(e:Event):void
{
if (_isPlaying)
{
stage.removeEventListener(Event.ENTER_FRAME, draw);
}
else
{
stage.addEventListener(Event.ENTER_FRAME, draw);
}
isPlaying = !_isPlaying;
}
private function draw(event : Event) : void
{
var angle:Number ;
graphics.clear();
graphics.lineStyle(1,0,0.5);
graphics.moveTo(r,r);
for (var i : int = 0; i < r; i += 1)
{
angle= i * (n+1);
graphics.lineTo(
r + (i * Math.cos(angle)),
r + (i * Math.sin(angle)));
}
label.text = n.toFixed(3);
hSlider.value = n;
step.value = n;
degrees.text = int(((n + 1) * d) % 360).toString();
fractionOfCircle.text = int(360 / int(degrees.text)).toString();
if (event)
{
n += .001;
}
}
public function set isPlaying(value:Boolean):void
{
pushButton.label = value?"stop":"play";
pushButton.transform.colorTransform = value? new ColorTransform(1,0,0,1):new ColorTransform(0,1,0,1);
_isPlaying = value;
}
}
}