Fork me on GitHub
Not signed in (Sign In)

Welcome, Guest

Want to take part in these discussions? Sign in if you have an account, or apply for one below

    • CommentAuthordarkcode
    • CommentTimeOct 7th 2009
     
    Hello Richard Lord and community. I have a problem

    i want a make a "letters spray can", i was thinking about use a collada model then attach the letters spray but i dont know who to do it because this time im using classes.

    when i use particles i just add particles to a ColladaNode like this

    particles = new Particles();
    ColladaBase.addChild(particles);

    this is my code, this code just trow a letters spray. feel free to use or edit

    package
    {
    import flash.events.MouseEvent;
    import org.flintparticles.common.actions.Age;
    import org.flintparticles.common.counters.Steady;
    import org.flintparticles.common.events.EmitterEvent;
    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.Rotation;
    import org.flintparticles.threeD.initializers.ScaleAllInit;
    import org.flintparticles.threeD.initializers.Velocity;
    import org.flintparticles.threeD.papervision3d.PV3DRenderer;
    import org.flintparticles.threeD.papervision3d.initializers.PV3DObjectClasses;
    import org.flintparticles.threeD.zones.ConeZone;
    import org.flintparticles.threeD.zones.LineZone;
    import org.papervision3d.objects.DisplayObject3D;
    import org.papervision3d.view.BasicView;

    [SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")]
    public class FlintGeometrias extends BasicView
    {
    private var flintRenderer:PV3DRenderer;
    private var rocket:Emitter3D;
    private var cameraTarget:DisplayObject3D = DisplayObject3D.ZERO;
    private var previousMouseX:Number = 0;
    private var cameraYaw:Number = 0;
    public function FlintGeometrias()
    {
    flintRenderer = new PV3DRenderer( scene );
    setupRocket();
    startRendering();
    stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler);
    }
    private function setupRocket():void
    {
    rocket = new Emitter3D();
    rocket.counter = new Steady( 50 );
    rocket.addInitializer( new PV3DObjectClasses([NewWord]) );
    rocket.addInitializer( new ScaleAllInit(.9, 1.4));
    rocket.addInitializer( new Position( new LineZone( new Vector3D( 0, -500, 0 ), new Vector3D( 0, 0, 0) ) ) );
    rocket.addInitializer( new Velocity( new ConeZone( Vector3D.ZERO, Vector3D.AXISY, 1, 500, 330 ) ) );
    rocket.addInitializer( new Lifetime( 3.3 ) );
    rocket.addInitializer( new Rotation(new Vector3D( 1, 1, 1 ),5,90));
    rocket.addAction( new Age() );
    rocket.addAction( new Move() );
    rocket.addAction( new Accelerate( new Vector3D( 0, -50, 0 ) ) );
    rocket.addAction( new LinearDrag( 0.5 ) );
    rocket.addAction( new RandomDrift( 200, 0, 200 ) );
    flintRenderer.addEmitter(rocket);
    rocket.start();
    }

    private function stage_mouseMoveHandler(event:MouseEvent):void
    {
    var differenceX:Number = event.stageX - previousMouseX;
    cameraYaw += differenceX;
    cameraYaw %= 360;
    previousMouseX = event.stageX;
    camera.orbit(90, cameraYaw, true, cameraTarget);
    }
    }
    }
    import org.papervision3d.objects.DisplayObject3D;
    import org.papervision3d.typography.Text3D;
    import org.papervision3d.materials.special.Letter3DMaterial;
    import org.papervision3d.objects.primitives.Sphere;
    import org.papervision3d.core.geom.TriangleMesh3D;
    import org.papervision3d.objects.DisplayObject3D;
    import org.papervision3d.typography.Text3D;
    import org.papervision3d.materials.special.Letter3DMaterial;
    import org.papervision3d.objects.primitives.Sphere;
    import org.papervision3d.core.geom.TriangleMesh3D;
    import org.papervision3d.typography.fonts.HelveticaBold;
    import org.papervision3d.objects.DisplayObject3D;
    import org.papervision3d.typography.Text3D;
    import org.papervision3d.materials.special.Letter3DMaterial;
    import org.papervision3d.objects.primitives.Sphere;
    import org.papervision3d.core.geom.TriangleMesh3D;
    import flash.text.TextField;

    class NewWord extends TriangleMesh3D
    {
    public function NewWord()
    {
    super( null, new Array(), new Array(), null );
    var letter:String="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789";
    var word:Text3D = new Text3D(letter.charAt(Math.floor(Math.random()*letter.length)), new HelveticaBold(), new Letter3DMaterial(Math.floor(Math.random() * 16777215)));
    addChild(word);
    }
    }