forked from: flash on 2012-6-20
forked from Grav (diff: 1)
ActionScript3 source code
/**
* Copyright bradsedito ( http://wonderfl.net/user/bradsedito )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/dA3D
*/
// forked from Coft's flash on 2012-6-20
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.display.MovieClip;
import flash.geom.Vector3D
public class Grav extends Sprite {
private var particles:Vector.<MovieClip>
private var hole:Vector3D
public function Grav() {
particles = new <MovieClip>[]
for(var i:uint = 0; i < 1000; i++) {
addOne()
}
hole = new Vector3D()
addEventListener("enterFrame", frame)
}
private function frame(e:Event):void {
for(var i:int = particles.length - 1; i >= 0; i--) {
var sp:MovieClip = particles[i]
var d:Vector3D
sp.pos = sp.pos.add(sp.vec)
sp.x = 400*sp.pos.x/sp.pos.z
sp.y = 400*sp.pos.y/sp.pos.z
sp.scaleX = 1/sp.pos.z
sp.scaleY = 1/sp.pos.z
sp.visible = sp.pos.z > 0.001
}
}
private function addOne():void {
var sp:MovieClip = new MovieClip()
sp.graphics.beginFill(0)
sp.graphics.drawCircle(0,0,5)
sp.graphics.endFill()
sp.pos = new Vector3D(Math.random(), Math.random(), Math.random())
sp.vec = new Vector3D(Math.random()/100-1/200, Math.random()/100-1/200, Math.random()/100-1/200)
addChild(sp)
particles.push(sp)
}
}
}