forked from: forked from: flash on 2010-6-22
forked from forked from: flash on 2010-6-22 (diff: 30)
ActionScript3 source code
/**
* Copyright 9re ( http://wonderfl.net/user/9re )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/7BJx
*/
// forked from 9re's forked from: flash on 2010-6-22
// forked from Murai's flash on 2010-6-22
package {
import flash.display.DisplayObject;
import flash.events.Event;
import flash.display.Sprite;
public class Fuwafuwa extends Sprite {
private var phase:Number;
private var target:Sprite;
private var target2:Sprite;
private var yPos:Number;
public function Fuwafuwa() {
addChild(target=new Sprite());
addChild(target2=new Sprite);
fillRect(target, 0);
fillRect(target2, 0xff);
function fillRect($target:Sprite, color:uint):void {
with($target){
x=stage.stageWidth/2;
y=stage.stageHeight/2;
graphics.beginFill(color, .3);
graphics.drawRect(-50, -50, 100, 100);
graphics.endFill();
graphics.lineStyle(5, 0xff0000, 0.25);
graphics.moveTo(-5, -5);
graphics.lineTo(5, 5);
graphics.moveTo(-5, 5);
graphics.lineTo(5, -5);
}
}
yPos = target.y;
graphics.lineStyle(1);
graphics.moveTo(0,stage.stageHeight/2);
graphics.lineTo(stage.stageWidth,stage.stageHeight/2);
start();
}
private function loop(e:Event):void {
phase++;
var val:Number = Math.sin(phase*Math.PI/180 * 1.5) / 3;
yPos += val;
target2.y += val;
target.y = yPos;
//target.y = Math.cos(phase * Math.PI / 100) * 180 / Math.PI / 5 + stage.stageHeight / 2 + 50;
target.rotation += val;
target2.rotation += val;
}
public function start():void {
phase = Math.random()*360>>0;
if(!target.hasEventListener(Event.ENTER_FRAME))target.addEventListener(Event.ENTER_FRAME, loop);
}
public function stop():void {
if(target.hasEventListener(Event.ENTER_FRAME))target.removeEventListener(Event.ENTER_FRAME, loop);
}
}
}