libgdx ParticleEffect
开始使用粒子系统做点东西.
然后看了看官方粒子和一些网上教程.
觉得挺麻烦的.不是很科学.
弄了弄,开始搞明白了几点.
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度.然后就能看见粒子四散发射了. 里面有大量的随机设定.数量多了效果就成型了.