1.效果图
主要代码1:
package com.jun.libgdx; import java.util.ArrayList; import javax.microedition.khronos.opengles.GL10; import com.badlogic.gdx.ApplicationListener; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.ParticleEffect; import com.badlogic.gdx.graphics.g2d.ParticleEffectPool; import com.badlogic.gdx.graphics.g2d.SpriteBatch; public class MainActivity implements ApplicationListener { private SpriteBatch batch; private BitmapFont bf; private ParticleEffect particle; private ParticleEffect tem; private ParticleEffectPool particlePool; private ArrayList<ParticleEffect> particlelist; @Override public void create() { // TODO Auto-generated method stub batch=new SpriteBatch(); bf=new BitmapFont(); // 初始化离子变量 particle=new ParticleEffect(); particle.load(Gdx.files.internal("particle.p"),Gdx.files.internal("")); particlePool=new ParticleEffectPool(particle, 5, 10); particlelist=new ArrayList<ParticleEffect>(); } @Override public void dispose() { // TODO Auto-generated method stub batch.dispose(); bf.dispose(); particle.dispose(); if(tem!=null){ tem.dispose(); particlePool.clear(); } } @Override public void pause() { // TODO Auto-generated method stub } @Override public void render() { // TODO Auto-generated method stub Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); Gdx.gl.glClearColor(0f, 0f, 0f, 0f); batch.begin(); bf.draw(batch,"Hello lijun",Gdx.graphics.getHeight()/3, Gdx.graphics.getWidth()/3); batch.end(); // // 粒子系统 if(true){ if(Gdx.input.isTouched()){ tem=particlePool.obtain(); tem.setPosition(Gdx.input.getX(),Gdx.graphics.getHeight()-Gdx.input.getY()); particlelist.add(tem); } batch.begin(); for(int i=0;i<particlelist.size();i++){ particlelist.get(i).draw(batch, Gdx.graphics.getDeltaTime()); } batch.end(); // 清除已经播放完成的粒子系统 ParticleEffect tempParticle; for(int j=0;j<particlelist.size();j++){ tempParticle=particlelist.get(j); if(tempParticle.isComplete()){ particlelist.remove(j); } } } } @Override public void resize(int arg0, int arg1) { // TODO Auto-generated method stub } @Override public void resume() { // TODO Auto-generated method stub } }
主要代码2:
package com.jun.libgdx; import android.os.Bundle; import com.badlogic.gdx.ApplicationListener; import com.badlogic.gdx.backends.android.AndroidApplication; public class GameActivity extends AndroidApplication { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); initialize(new MainActivity(), false); } }