`
aa87963014
  • 浏览: 150589 次
  • 性别: Icon_minigender_1
  • 来自: 布尼塔尼亚
社区版块
存档分类
最新评论

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度.然后就能看见粒子四散发射了. 里面有大量的随机设定.数量多了效果就成型了.

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics