/**
* Copyright alexnotkin ( http://wonderfl.net/user/alexnotkin )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/3ht3
*/
// source code from http://flashmaster.org.ua
package {
import flash.display.Sprite;
import flash.events.Event;
public class FlashTest extends Sprite {
public function FlashTest() {
var speed:Number = 0.25;
var radius:Number = 0;
var angle:Number = 0;
var xpos:Number;
var ypos:Number;
var centerX:Number = stage.stageWidth / 2;
var centerY:Number = stage.stageHeight / 2;
//Задаем черный задний фон.
var back:Sprite = new Sprite();
back.graphics.beginFill(0x000000);
back.graphics.drawRect(0, 0, 2*centerX, 2*centerY);
back.graphics.endFill();
addChild (back);
//Наша спираль будет содержаться в контейнере.
var container:Sprite = new Sprite();
//Помещаем наш контейнер в центр сцены.
container.x = centerX;
container.y = centerY;
addChild (container);
//Задаем в контейнере стиль линии в 4 пикселя и белого цвета.
container.graphics.lineStyle (8, 0xFFFFFF);
//Начальная точка будет в центре сцены. (это левый верхний угол контейнера)
container.graphics.moveTo (0, 0);
addEventListener (Event.ENTER_FRAME, onEnterFrame);
function onEnterFrame (event:Event):void {
/*
Мы останавливаем рисование спирали после того, как ее радиус достигает 180 пикселей.
Но вращение спирали продолжаем.
*/
if (radius > 180) {
speed = 0;
container.rotation += 10;
}
else {
//Увеличиваем радиус каждый кадр.
radius += 0.8;
//Новые х и у координаты.
xpos = Math.cos(angle) * radius;
ypos = Math.sin(angle) * radius;
//Рисуем линию по новым координатам.
container.graphics.lineTo (xpos,ypos);
//Вращаем контейнер.
container.rotation += 10;
//Чем больше скорость, тем быстрее рисуем спираль.
angle += speed;
}
}
}
}
}