一、初始化方法及常见的API
effect = new ParticleEffect();//初始化粒子效果类
effect.load(Gdx.files.internal("test.p"), Gdx.files.internal(""));//加载粒子编辑器类文件
effect.setPosition(Position_X, Position_Y);//设置粒子的位置
effect.draw(batch, Gdx.graphics.getDeltaTime());//绘制粒子效果
其他常见的API有:
1.ParticleEffect 类
API定义:libgdx自带的粒子效果类,负责获取粒子编辑器生成的“.p”文件。
功能方法:
isComplete()
、load(FileHandle effectFile, FileHandle imagesDir)
、setPosition(float x, float y)
、
getEmitters()
、draw()。
第一个方法:负责超看粒子一个生命周期是否完成,一般用去销毁粒子。
第二个方法:负责加载粒子编辑器文件,同时加入Atlas文件。
第三个方法:设置粒子位置。
第四个方法:获取发射器,本身类型是一个 Array < ParticleEmitter > 类型。
第五个方法: 绘制粒子效果的方法。
ParticleEffect类,主要是负责加入粒子编辑器生成的文件,同时加入一些简单的管理。如果我们要看到粒子效果的话,可以再render中绘制出来。
二、应用举例
MyGame
package com.example.groupactiontest;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.g2d.ParticleEffect;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
public class MyGame implements ApplicationListener {
SpriteBatch batch;
ParticleEffect effect;//粒子效果类
InputProcessor inputProcessor;
float Position_X,Position_Y;
@Override
public void create() {
batch = new SpriteBatch();
effect = new ParticleEffect();//初始化粒子效果类
effect.load(Gdx.files.internal("test.p"), Gdx.files.internal(""));//加载粒子编辑器类文件
inputProcessor = new InputProcessor() {
@Override
public boolean touchUp(int arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean touchDragged(int screen_X, int screen_Y, int pointer) {
Position_X = screen_X;
Position_Y = Gdx.graphics.getHeight() - screen_Y;
return false;
}
@Override
public boolean touchDown(int arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean scrolled(int arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean mouseMoved(int arg0, int arg1) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean keyUp(int arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean keyTyped(char arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean keyDown(int arg0) {
// TODO Auto-generated method stub
return false;
}
};
Gdx.input.setInputProcessor(inputProcessor);//为整个屏幕注册监听事件《一定要有,否则出不来效果
}
@Override
public void dispose() {
// TODO Auto-generated method stub
}
@Override
public void pause() {
// TODO Auto-generated method stub
}
@Override
public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
effect.setPosition(Position_X, Position_Y);//设置粒子的位置
batch.begin();
effect.draw(batch, Gdx.graphics.getDeltaTime());//绘制粒子效果
batch.end();
}
@Override
public void resize(int arg0, int arg1) {
// TODO Auto-generated method stub
}
@Override
public void resume() {
// TODO Auto-generated method stub
}
}
三、效果图
四、源码下载
至于粒子编辑器的基本使用可以参考http://blog.sina.com.cn/s/blog_940dd50a0101cosj.html
标签:粒子,int,TODO,libgdx,method,编辑器,Override,小结,public From: https://blog.51cto.com/u_5290007/6252584