Welcome, Guest
Want to take part in these discussions? Sign in if you have an account, or apply for one below
-
- CommentAuthorKamalesh
- CommentTimeSep 10th 2009
I wrote a code for fire works. It appears to be correct, but don't display any fireworks when compile. Could you please help me to understand the problem
var holder:DisplayObject3D;
holder = new DisplayObject3D();
holder.z = 10;
bfx = new BitmapEffectLayer( viewport3D, VIDEO_WIDTH, VIDEO_HEIGHT );
bfx.addEffect( new BitmapLayerEffect( new BlurFilter( 2, 2, 1 ) ) );
bfx.addEffect( new BitmapLayerEffect( new ColorMatrixFilter( [ 1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0.9,0 ] ) ) );
viewport3D.containerSprite.addLayer( bfx );
pixels = new Pixels( bfx );
bfx.addDisplayObject3D( pixels );
holder.addChild( pixels );
emitter = new SphereBang(new Point3D( 0, 0, 0)); // Start emitter at a height
flintRenderer = new PV3DPixelRenderer( pixels ); // render particles with pixels
flintRenderer.addEmitter( emitter ); // Render the particles emitted
emitter.start();
flarBaseNode.addChild(holder);
addChild (viewport3D); -
- CommentAuthordarkcode
- CommentTimeOct 8th 2009
try this
package
{
import flash.events.Event;
import flash.filters.BlurFilter;
import org.flintparticles.common.actions.Age;
import org.flintparticles.common.actions.TargetColor;
import org.flintparticles.common.counters.Blast;
import org.flintparticles.common.counters.Steady;
import org.flintparticles.common.energyEasing.Quadratic;
import org.flintparticles.common.events.EmitterEvent;
import org.flintparticles.common.events.ParticleEvent;
import org.flintparticles.common.initializers.ColorInit;
import org.flintparticles.common.initializers.Lifetime;
import org.flintparticles.threeD.actions.Accelerate;
import org.flintparticles.threeD.actions.LinearDrag;
import org.flintparticles.threeD.actions.Move;
import org.flintparticles.threeD.actions.RandomDrift;
import org.flintparticles.threeD.emitters.Emitter3D;
import org.flintparticles.threeD.geom.Vector3D;
import org.flintparticles.threeD.initializers.Position;
import org.flintparticles.threeD.initializers.Velocity;
import org.flintparticles.threeD.papervision3d.PV3DPixelRenderer;
import org.flintparticles.threeD.particles.Particle3D;
import org.flintparticles.threeD.zones.ConeZone;
import org.flintparticles.threeD.zones.PointZone;
import org.flintparticles.threeD.zones.SphereZone;
import org.papervision3d.core.effects.BitmapLayerEffect;
import org.papervision3d.core.geom.Pixels;
import org.papervision3d.view.BasicView;
import org.papervision3d.view.layer.BitmapEffectLayer;
[SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")]
public class FlintPixels extends BasicView
{
private var emitter:Emitter3D;
private var flintRenderer:PV3DPixelRenderer;
private var bitmapEffectLayer:BitmapEffectLayer;
private var pixels:Pixels;
public function FlintPixels()
{
camera.z = -300;
setupPixels();
setupEmitter();
setupFlintRenderer();
emitter.start();
startRendering();
}
private function setupPixels():void
{
bitmapEffectLayer = new BitmapEffectLayer(viewport);
viewport.containerSprite.addLayer( bitmapEffectLayer );
pixels = new Pixels(bitmapEffectLayer);
bitmapEffectLayer.addDisplayObject3D(pixels);
scene.addChild(pixels);
bitmapEffectLayer.addEffect(new BitmapLayerEffect(new BlurFilter(1.5, 1.5, 1)));
}
private function setupEmitter():void
{
emitter = new Emitter3D();
emitter.counter = new Steady( 0.4 );
emitter.addInitializer(new ColorInit(0xffcc0000, 0xffffffff));
emitter.addInitializer( new Velocity( new ConeZone( Vector3D.ZERO, Vector3D.AXISY, 1, 350, 330 ) ) );
emitter.addAction( new Accelerate( new Vector3D( 0, -500, 0 ) ) );
emitter.addAction( new LinearDrag( 0.5 ) );
emitter.addAction( new RandomDrift( 200, 200, 200 ) );
emitter.addInitializer(new Lifetime(1));
emitter.addEventListener( ParticleEvent.PARTICLE_DEAD, explosion, false, 0, true );
emitter.addAction(new Move());
emitter.addAction(new Age());
}
private function explosion(event:ParticleEvent):void
{
var explode:Emitter3D = new Emitter3D();
explode.counter = new Blast (250);
explode.addInitializer(new ColorInit(0xffffffff, 0xffffffff));
explode.addInitializer( new Position( new PointZone( Particle3D( event.particle ).position)));
explode.addInitializer( new Velocity( new SphereZone( Vector3D.ZERO, 50,50 ) ) );
explode.addInitializer( new Lifetime( 2 ) );
explode.addAction( new Age( Quadratic.easeIn ) );
explode.addAction( new Move() );
explode.addAction( new Accelerate( new Vector3D( 0, -10, 0 ) ) );
explode.addAction( new LinearDrag( 0.5 ) );
explode.addAction( new TargetColor(0xffFF0000, 1) );
explode.addEventListener( EmitterEvent.EMITTER_EMPTY, explosion_emisor_Vacio, false, 0, true );
flintRenderer.addEmitter( explode );
explode.start();
}
private function explosion_emisor_Vacio(event:EmitterEvent):void
{
Emitter3D( event.target ).removeEventListener( EmitterEvent.EMITTER_EMPTY, explosion_emisor_Vacio );
flintRenderer.removeEmitter( Emitter3D( event.target ) );
}
private function setupFlintRenderer():void
{
flintRenderer = new PV3DPixelRenderer(pixels);
flintRenderer.addEmitter(emitter);
}
override protected function onRenderTick(event:Event = null):void
{
pixels.rotationY += (viewport.containerSprite.mouseX - pixels.rotationY) * .3;
pixels.rotationX += (viewport.containerSprite.mouseY - pixels.rotationX) * .3;
renderer.renderScene(scene, camera, viewport);
}
}
}
1 to 2 of 2
