Happy Valentine
package {
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFormat;
[SWF(width="400", height="400", backgroundColor="0xFFFFFF", frameRate="30")]
public class StValentine extends Sprite {
private const SCALE:int = 40;
private var container:Sprite;
private var tf:TextField;
public function StValentine() {
container = new Sprite();
container.x = stage.stageWidth/2;
container.y = stage.stageHeight/2;
addChild(container);
tf = new TextField();
tf.x -= 60;
tf.y += 10;
tf.text = "Happy Valentine";
tf.autoSize = "left";
tf.setTextFormat(new TextFormat("Helvetica", 16, 0xff00ff));
container.addChild(tf);
var sp:Shape;
var r:Number = 0.0, theta:Number = 0.0, z:Number = 0.0;
for(var i:int=-Math.PI*8; i<=Math.PI*8; i++) {
for(var j:int=-8; j<=8; j++) {
theta = i/8;
z = j/8;
r = 4*Math.sqrt(1 - z*z)*Math.pow(Math.sin(Math.abs(theta)), Math.abs(theta));
sp = new Shape();
sp.graphics.beginFill(0xff007f, 0.5);
sp.graphics.drawCircle(0, 0, 4);
sp.graphics.endFill();
sp.x= SCALE*r*Math.sin(theta);
sp.y= SCALE*r*Math.cos(theta);
sp.z= SCALE*z;
container.addChild(sp);
}
}
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(e:Event):void {
container.rotationY++;
container.rotationX++;
}
}
}