forked from: 火の玉
♥0 |
Line 47 |
Modified 2010-01-29 20:55:51 |
MIT License
archived:2017-03-20 17:03:16
ActionScript3 source code
/**
* Copyright hacker_kscyf0ij ( http://wonderfl.net/user/hacker_kscyf0ij )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/td9J
*/
// forked from maccyan's 火の玉
//散り際が気に入ってる
package{
import flash.display.*;
import flash.events.*
import flash.filters.*;
import flash.geom.*;
import org.papervision3d.cameras.*;
import org.papervision3d.core.math.*;
import org.papervision3d.core.effects.*;
import org.papervision3d.core.effects.utils.*;
import org.papervision3d.view.layer.*;
import org.papervision3d.materials.*;
import org.papervision3d.materials.utils.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.render.*;
import org.papervision3d.scenes.*;
import org.papervision3d.view.*;
import org.papervision3d.view.stats.StatsView;
[SWF(width=640,height=480,backgroundColor=0,frameRate=30)]
public class Fire extends Sprite {
private var camera:Camera3D = new Camera3D(60,10,2000,true,false);
private var renderer:BasicRenderEngine = new BasicRenderEngine();
private var scene:Scene3D = new Scene3D();
private var viewport:Viewport3D = new Viewport3D();
private var sphere:Sphere;
public function Fire():void {
addChild(viewport);
addChild(new StatsView(renderer));
var fire = new BitmapEffectLayer(viewport,640,480);
fire.addEffect(new BitmapLayerEffect(new BlurFilter(5,4,3)));
fire.addEffect(new BitmapFireEffect(1,0.3,0.3,1));
fire.drawCommand = new BitmapDrawCommand(null,null,BlendMode.ADD);
fire.clippingPoint = new Point(0,-7);
viewport.containerSprite.addLayer(fire);
var material:ColorMaterial = new ColorMaterial(0xFF5555,0.9);
sphere = new Sphere(material,100);
scene.addChild(sphere);
fire.addDisplayObject3D(sphere);
camera.y = -300;
addEventListener(Event.ENTER_FRAME,loop);
}
private function loop(e:Event):void {
sphere.y -= 7;
camera.rotationX += 0.11;
renderer.renderScene(scene,camera,viewport);
}
}
}