forked from: パーティクル生成用
forked from パーティクル生成用 (diff: 15)
ActionScript3 source code
/**
* Copyright Ryogo_Quberey ( http://wonderfl.net/user/Ryogo_Quberey )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/7ixI
*/
// forked from Ryogo_Quberey's パーティクル生成用
package {
import flash.display.*;
import flash.events.Event;
[SWF(backgroundColor="0x000000")]
public class FlashTest extends Sprite {
private var particles:Array;
private var numParticles:uint = 20;
public function FlashTest() {
particles = new Array();
for(var i:int=0; i<numParticles; i++) {
var b:Ball = new Ball(20);
b.x += stage.stageWidth/2 + b.rot* Math.cos(b.rot)
b.y += 150;
addChild(b);
particles.push(b);
}
addEventListener(Event.ENTER_FRAME, onEnter);
}
private function onEnter(e:Event):void{
graphics.clear();
for(var i:int = 0;i < numParticles;i++)
{
var b:Ball = particles[i];
b.x += Math.cos(b.rot * Math.PI / 180)*10 ;
b.y += Math.sin(b.rot * Math.PI / 180)*10;
b.rot += 10;
if(b.rot>360){b.rot=0;}
if(b.x > stage.stageWidth)
{
b.x = 0;
}
else if(b.x < 0)
{
b.x = stage.stageWidth;
}
if(b.y > stage.stageHeight)
{
b.y = 0;
}
else if(b.y < 0)
{
b.y = stage.stageHeight;
}
}
}
}
}
import flash.display.Sprite;
class Ball extends Sprite
{
public var rot:Number =0;
public var vx:Number = Math.cos(rot * Math.PI / 180)*40 ;
public var vy:Number = Math.sin(rot* Math.PI / 180)*40 ;
public var mass:Number = 3;
public var radius:Number = 30
public var color:uint = 0xFF0000;
public function Ball(r:Number = 10, c:uint = 0x11FFCC)
{
radius = r;
color = c;
graphics.beginFill(c);
graphics.drawCircle(0, 0, r);
graphics.endFill();
}
}
