Android Open Source - candymem Particle Item






From Project

Back to project page candymem.

License

The source code is released under:

GNU General Public License

If you think the Android project candymem listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package se.tube42.lib.item;
//  w  w  w.  ja va 2s.c o m
import com.badlogic.gdx.*;
import com.badlogic.gdx.graphics.*;
import com.badlogic.gdx.graphics.g2d.*;
import com.badlogic.gdx.graphics.g2d.ParticleEffectPool.PooledEffect;


import se.tube42.lib.tweeny.*;
import se.tube42.lib.scene.*;

public class ParticleItem extends BaseItem
{
    protected PooledEffect effect;

    public ParticleItem()
    {
        this.effect = null;
    }


    public PooledEffect emit(ParticleEffectPool pool)
    {
        if(effect != null) {
            stop();
        }

        flags &= ~FLAG_DEAD;

        effect = pool.obtain();
        effect.setPosition(getX(), getY());
        effect.start();
        return effect;
    }

    // -----------------------------------------

    public void draw(SpriteBatch sb)
    {
        if( (flags & FLAG_VISIBLE) == 0) return;

        if(effect != null) {
            final float dt = Gdx.graphics.getDeltaTime();
            effect.setPosition(getX(), getY());
            onUpdate(dt);
            effect.draw(sb);

            if(effect.isComplete()) {
                onParticleEnded();
            }
        }
    }

    public void stop()
    {
        if(effect != null) {
            effect.free();
            effect = null;
            flags |= FLAG_DEAD;
        }
    }

    // --------------------------------------------

    public void onParticleEnded()
    {
        stop();
    }

    public void onUpdate(float dt)
    {
        effect.update(dt);
    }


}




Java Source Code List

com.badlogic.gdx.backends.lwjgl.LwjglApplication.java
se.tube42.kidsmem.KidsMemoryApp.java
se.tube42.kidsmem.SystemHandler.java
se.tube42.kidsmem.android.MainActivity.java
se.tube42.kidsmem.data.Assets.java
se.tube42.kidsmem.data.Constants.java
se.tube42.kidsmem.data.Settings.java
se.tube42.kidsmem.data.UI.java
se.tube42.kidsmem.data.World.java
se.tube42.kidsmem.desktop.DesktopMain.java
se.tube42.kidsmem.item.Button.java
se.tube42.kidsmem.item.FireworkItem.java
se.tube42.kidsmem.item.GameStat.java
se.tube42.kidsmem.item.TileSprite.java
se.tube42.kidsmem.item.TopBar.java
se.tube42.kidsmem.logic.AssetHelper.java
se.tube42.kidsmem.logic.GameHelper.java
se.tube42.kidsmem.logic.SettingsHelper.java
se.tube42.kidsmem.logic.SizeHelper.java
se.tube42.kidsmem.scene.BackgroundScene.java
se.tube42.kidsmem.scene.GameScene.java
se.tube42.kidsmem.scene.MenuScene.java
se.tube42.kidsmem.service.ServiceProvider.java
se.tube42.lib.item.BaseItem.java
se.tube42.lib.item.BaseText.java
se.tube42.lib.item.ParticleItem.java
se.tube42.lib.item.PatchItem.java
se.tube42.lib.item.SpriteItem.java
se.tube42.lib.scene.LayerList.java
se.tube42.lib.scene.Layer.java
se.tube42.lib.scene.SceneManager.java
se.tube42.lib.scene.Scene.java
se.tube42.lib.service.AssetService.java
se.tube42.lib.service.JobService.java
se.tube42.lib.service.RandomService.java
se.tube42.lib.service.StorageService.java
se.tube42.lib.util.BaseApp.java
se.tube42.lib.util.UIC.java