欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

libgdx ParticleEffect

程序员文章站 2022-01-22 10:03:19
...

开始使用粒子系统做点东西.

然后看了看官方粒子和一些网上教程.

觉得挺麻烦的.不是很科学.

 

弄了弄,开始搞明白了几点.

1.材质.

打开particle-editor.jnlp 就能看到一个自带的粒子效果.第一个坑爹的事情来了.

把它保存下来,然后照着例子弄.报一个找不到xxx文件的错误.

粒子编辑器里面是没有image的!但是,应该有一个image文件才对!

所以,自己创建或者从网上下载粒子效果要注意材质文件.

 

2.libgdx版本不断的提升,官方的demo 网上的例子或者源码 都是比较古老的写法.挺简单的东西 缺搞得一大堆代码.操作SpriteBatch 在draw 方法里面画这个画那个的.现在一切都应该围绕这么几点写代码:game screen stage group actor

 

使用粒子的代码:

创建:

effect = new ParticleEffect();
effect.load(Gdx.files.internal("res/particle/tt.p"),
				Gdx.files.internal("res/particle/"));

 每帧执行 act方法.

在stage 或者哪里加上 effect.update(delta);

 

例如:

@Override
public void act(float delta) {
		effect.update(delta);
super.act(delta);
}

 还要加上渲染方法

 

@Override
	public void draw() {

		super.draw();
		getSpriteBatch().begin();
		effect.draw(getSpriteBatch(), Gdx.graphics.getDeltaTime());
		getSpriteBatch().end();

	}

 

这样就行了,粒子在原点不停的发射.

要控制跟随鼠标就监听拖拽方法 在里面加上

effect.setPosition(x, y); 方法,不断的修改粒子的位置

 

还有effect.start() 控制开始,默认似乎就是开始状态

effect.allowCompletion() 控制结束.

 

3.粒子系统大概是怎么个回事.

了解了粒子编辑器都是设定哪些属性 就大概了解了粒子系统是怎么个回事.

就像libgdx的类名一样:粒子效果和粒子发射器

编辑器就是设定 粒子效果 和粒子发射规则的.

其实就是控制材质移动,颜色变化,大小变化之类的效果.

只不过不是控制一个 而是多个,打开particle-editor.jnlp 像是一团火焰一样的东西 其实就是随机控制一大堆粒子向上移动.

移动的过程中会变幻大小和透明度之类的属性.

不要被一大堆粒子给迷糊了.例如,如果你想做一个太阳一样不断发光的效果.那么就要控制粒子不断的向360度发射.这个时候就要调整粒子的方向为0-360度.然后就能看见粒子四散发射了. 里面有大量的随机设定.数量多了效果就成型了.