flash on 2011-3-5
...
@author maigodog
/**
* Copyright maigodog ( http://wonderfl.net/user/maigodog )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/lX4R
*/
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
/**
* ...
* @author maigodog
*/
[SWF(width="465", height="565", backgroundColor="#BFBFBF", frameRate=30)]
public class Main extends Sprite
{
private var dango1:Dango;
private var dango2:Dango;
private var dango3:Dango;
private var s:Sprite;
private var bounce:Number = -0.7
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
bou();
}
private function bou():void
{
var width:Number = stage.stageWidth / 2;
var height:Number = stage.stageHeight / 2;
s = new Sprite();
s.graphics.lineStyle(3.0, 0x1F1F1F);
s.graphics.moveTo(width, 100);
s.graphics.lineTo(width, 400);
s.x = 40;
s.y = -290;
addChild(s);
bounce = Math.random() * 40 - 20;
s.addEventListener(Event.ENTER_FRAME, fall);
}
private function fall(e:Event):void
{
s.y += 30;
var angle:Number = s.rotation;
if (s.y >= 30) {
s.rotation = 4;
s.removeEventListener(Event.ENTER_FRAME, fall);
makespot();
dango1 = new Dango();
dango2 = new Dango();
dango3 = new Dango();
dango1.x = 260;
dango1.y = 0;
dango2.x = 250;
dango2.y = 0;
dango3.x = 242;
dango3.y = 0;
dango1.addEventListener(Event.ENTER_FRAME, dango1fall);
dango1.targetdango(dango1);
dango2.addEventListener(Event.ENTER_FRAME, dango2fall);
dango2.targetdango(dango2);
dango3.addEventListener(Event.ENTER_FRAME, dango3fall);
dango3.targetdango(dango3);
addChild(dango1);
addChild(dango2);
addChild(dango3);
}
}
private function dango1fall(e:Event) :void
{
dango1.y += 10;
if (dango1.y == 240) {
dango1.removeEventListener(Event.ENTER_FRAME,dango1fall);
}
}
private function dango2fall(e:Event):void
{
dango2.y += 15;
if (dango2.y >= 320) {
dango2.y = 320;
dango2.removeEventListener(Event.ENTER_FRAME,dango2fall);
}
}
private function dango3fall(e:Event):void
{
dango3.y += 20;
if (dango3.y == 400) {
dango3.removeEventListener(Event.ENTER_FRAME,dango3fall);
}
}
private function makespot():void
{
var spot:Spot = new Spot(100,150,200,100,400,150);
var spotleft:Spot = new Spot(-70, 50,200, 120, 400, 150);
var spotright:Spot = new Spot(-160, 50,200, 0, 290, 0);
spotleft.x = 250;
spotleft.y = 50;
spotright.x = 400;
spotright.y = 160;
spot.x = 500;
spot.y = 600;
spot.rotation = 180;
spotleft.rotation = 90;
spotright.rotation = 90;
addChild(spotright);
addChild(spotleft);
addChild(spot);
}
}
}
import flash.display.Sprite;
class Spot extends Sprite
{
public function Spot(move_x:Number,move_y:Number,curve_x:Number,curve_y:Number,curve_xx:Number,curve_yy:Number)
{
graphics.lineStyle(3, 0xDFD1D1, 100);
graphics.moveTo(move_x, move_y);
graphics.curveTo(curve_x, curve_y, curve_xx, curve_yy);
}
}
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Point;
class Dango extends Sprite
{
private var point:Point = new Point();
private var et:Dango;
public function Dango()
{
init();
}
private function init():void
{
graphics.beginFill(0xCFCF9B);
graphics.lineStyle(2,0x000000);
graphics.drawCircle(0, 0, 40);
graphics.endFill();
}
public function targetdango(t:Dango) :void
{
et = t;
t.addEventListener(MouseEvent.MOUSE_DOWN, onface);
t.addEventListener(MouseEvent.MOUSE_UP, offface);
}
public function onface(e:MouseEvent):void
{
point.x = mouseX;
point.y = mouseY;
et.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
}
public function offface(e:MouseEvent):void
{
et.removeEventListener(MouseEvent.MOUSE_MOVE,onMouseMove);
}
private function onMouseMove(event:MouseEvent):void
{
graphics.lineStyle(8.0, 0x0);
graphics.moveTo(point.x, point.y);
graphics.lineTo(mouseX, mouseY);
point.x = mouseX;
point.y = mouseY;
}
}