forked from: 魔法使いが炎の魔法を指先から放つようなものを作りたい
forked from 魔法使いが炎の魔法を指先から放つようなものを作りたい (diff: 89)
ActionScript3 source code
/**
* Copyright undo ( http://wonderfl.net/user/undo )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/izrf
*/
// forked from cpu_t's 魔法使いが炎の魔法を指先から放つようなものを作りたい
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.display.Shape;
[SWF(backgroundColor='0x0',width='465',height='465',frameRate='60')]
public class FlashTest extends Sprite
{
public function FlashTest()
{
makeCircles(50);
addEventListener(Event.ENTER_FRAME,loop);
}
private var _maxRadius:Number = 100;
private var _explodeArray:Array = [];
private function makeCircles(numCircle:int = 10):void
{
for(var i:int = 0; i < numCircle; i++)
{
var ex:Explode = new Explode(Math.random()*this._maxRadius);
addChild(ex);
this._explodeArray.push(ex);
}
}
private function loop(e:Event):void
{
for(var i:int = 0; i < this._explodeArray.length; i++)
{
var ex:Explode = this._explodeArray[i] as Explode;
ex.update();
}
}
}
}
import flash.display.Sprite;
import flash.events.Event;
class Explode extends Sprite
{
private var vx:Number; private var vy:Number; private var _size:Number; public function Explode(size:Number=20)
{
this._size = size; this.graphics.beginFill(0x201000);
this.graphics.drawCircle(0,0,_size);
this.graphics.endFill();
this.blendMode = 'add';
vx=Math.random()*2 -1;
vy=Math.random()*2 -1;
this.addEventListener(Event.ADDED_TO_STAGE, onAdded);
}
private function onAdded(evt:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, onAdded); this.x = Math.random()*this.stage.stageWidth;
this.y = Math.random()*this.stage.stageHeight;
}
public function update():void
{
this.x+=vx;
this.y+=vy;
(this.x > this.stage.stageWidth + this._size )? this.x = -this._size:(this.x < -this._size)?this.x = this.stage.stageWidth+this._size:0; (this.y > this.stage.stageHeight + this._size )? this.y = -this._size:(this.y < -this._size)?this.y = this.stage.stageHeight+this._size:0; }
}
