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

    • CommentAuthorNickyD
    • CommentTimeFeb 9th 2010
     
    working with one of the posted examples, I seem to have everything working; however, when I use any of the easing classes I receive this error:

    ArgumentError: Error #1063: Argument count mismatch on org.flintparticles.common.easing::Quadratic$/easeInOut(). Expected 4, got 2.
    at org.flintparticles.common.actions::Age/update()
    at org.flintparticles.common.emitters::Emitter/update()
    at org.flintparticles.common.emitters::Emitter/updateEventListener()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at org.flintparticles.common.utils::FrameUpdater/frameUpdate()

    It with this particular line of code:

    firstEmitter.addAction(new Age(Quadratic.easeInOut));

    Now when I remove the easing it works fine, but obviously looks poor in quality.
    The line below works just fine:

    firstEmitter.addAction(new Age());

    Here is my code in full with compiler directives and everything. What am I doing wrong or not importing?

    package
    {
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.events.Event;
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.geom.Point;
    import flash.geom.Rectangle;
    import flash.filters.BlurFilter;
    import flash.filters.ColorMatrixFilter;
    import org.flintparticles.common.actions.*;
    import org.flintparticles.common.events.*;
    import org.flintparticles.common.counters.*;
    import org.flintparticles.common.easing.*;
    import org.flintparticles.common.energyEasing.*;
    import org.flintparticles.common.displayObjects.RadialDot;
    import org.flintparticles.common.initializers.*;
    import org.flintparticles.twoD.actions.*;
    import org.flintparticles.twoD.particles.Particle2D;
    import org.flintparticles.twoD.emitters.Emitter2D;
    import org.flintparticles.twoD.initializers.*;
    import org.flintparticles.twoD.renderers.*;
    import org.flintparticles.twoD.zones.*;

    public class DolceLogo extends Sprite
    {
    private var n:Bitmap;
    private var d:Bitmap;
    private var firstEmitter:Emitter2D = new Emitter2D();
    private var tween1Emitter:Emitter2D = new Emitter2D();
    private var tween2Emitter:Emitter2D = new Emitter2D();
    private var renderer:PixelRenderer = new PixelRenderer(new Rectangle(0, 0, 550, 400));
    private var imgLoader:Loader = new Loader();
    private var imgLoader2:Loader = new Loader();

    public function DolceLogo()
    {
    init();
    }

    private function init():void
    {
    imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
    imgLoader.load(new URLRequest("image/nick.png"));
    }

    private function loadComplete(evt:Event):void
    {
    n = evt.target.content as Bitmap;
    imgLoader2.contentLoaderInfo.addEventListener(Event.COMPLETE, loadFinal);
    imgLoader2.load(new URLRequest("image/dolce.png"));
    }

    private function loadFinal(evt:Event):void
    {
    d = evt.target.content as Bitmap;
    firstEmitter.counter = new Blast(4000);
    firstEmitter.addInitializer(new ColorInit(0xFFFFFF00, 0xCC6600));
    firstEmitter.addInitializer(new Lifetime(6));
    firstEmitter.addInitializer(new Position(new BitmapDataZone(n.bitmapData, 40, 60)));
    firstEmitter.addAction(new Age(Quadratic.easeInOut));
    firstEmitter.addAction(new TweenToZone(new BitmapDataZone(d.bitmapData, 40, 60)));

    tween1Emitter.addInitializer(new Lifetime(6));
    tween1Emitter.addAction(new Age(Quadratic.easeInOut));
    tween1Emitter.addAction(new TweenToZone(new BitmapDataZone(n.bitmapData, 40, 60)));

    tween2Emitter.addInitializer(new Lifetime(6));
    tween2Emitter.addAction(new Age(Quadratic.easeInOut));
    tween2Emitter.addAction(new TweenToZone(new BitmapDataZone(d.bitmapData, 40, 60)));

    renderer.addFilter(new BlurFilter(2, 2, 1));
    renderer.addFilter(new ColorMatrixFilter([1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0.95,0]));
    renderer.addEmitter(firstEmitter);
    renderer.addEmitter(tween1Emitter);
    renderer.addEmitter(tween2Emitter);
    addChild(renderer);

    firstEmitter.addEventListener(ParticleEvent.PARTICLE_DEAD, moveToTween1);
    tween1Emitter.addEventListener(ParticleEvent.PARTICLE_DEAD, moveToTween2);
    tween2Emitter.addEventListener(ParticleEvent.PARTICLE_DEAD, moveToTween1);

    firstEmitter.start();
    tween1Emitter.start();
    tween2Emitter.start();
    }

    private function moveToTween1(event:ParticleEvent):void
    {
    var dyingParticle:Particle2D = event.particle as Particle2D;
    var newParticle:Particle2D = tween1Emitter.particleFactory.createParticle() as Particle2D;
    newParticle.x = dyingParticle.x;
    newParticle.y = dyingParticle.y;
    newParticle.color = dyingParticle.color;
    tween1Emitter.addExistingParticles([newParticle], true);
    }

    private function moveToTween2(event:ParticleEvent):void
    {
    var dyingParticle:Particle2D = event.particle as Particle2D;
    var newParticle:Particle2D = tween2Emitter.particleFactory.createParticle() as Particle2D;
    newParticle.x = dyingParticle.x;
    newParticle.y = dyingParticle.y;
    newParticle.color = dyingParticle.color;
    tween2Emitter.addExistingParticles([newParticle], true);
    }
    }
    }
    • CommentAuthorRichard
    • CommentTimeFeb 9th 2010
     
    Try removing this line -

    import org.flintparticles.common.easing.*;
    You want the classes from the energyEasing package, not the easing package.
    • CommentAuthorNickyD
    • CommentTimeFeb 9th 2010
     
    That worked! Thank you very much.
    Yeah I see it was finding both of those easing classes and using the wrong one.

    Thank you!