`
hylxinlang
  • 浏览: 129899 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

libgdx粒子系统的使用

阅读更多

ibgdx粒子系统编辑器—Particle Editor

下载地址:http://libgdx.googlecode.com/svn/jws/particle-editor.jnlp



 官方网站上对软件中的各个参数的解释如下:

Delay:   当粒子系统开始后,发射器等待多少时间开始发射

Duration:发射器生存跨度,也就是粒子效果持续的的时间,注意这个时间和粒子生存时间不同 

Count:   顾名思义,同一时间可出现的粒子个数,有一个上限一下下限。

Emission: 每秒钟发射多少个粒子,这个参数带了一张图表,图表中间写着duration,代表图表X 轴表示发射器生存时间,意思是说发射器的生存时间内,该图表控制各个时间点粒子每秒钟发射多少个,左边的上下两个文本框用于控制生成初始值时的范围,左边的'>'字符用于输入另外一个数值,比如说下面那个”>“, 发射器会在这两个值中间选择一下随机值作为上限值,Relative,如果选中,表示图表中的值是相对值,相对于初始值。否则是个绝对值.

Life: 一个粒子的生存时间,

Life Offset: 决定粒子在显示之前已经用掉它生命多少值 ,这样可以实现让一个粒子在它生命50%时再显现

X Offset and Y Offset: 粒子出现在位置相对中心位置的像素偏移

Spawn: 用于产生粒子的发射器的形状

Spawn Width and Spawn Height: 发射器的形状的宽,高

Size: 粒子的大小 

Velocity: 

Angle:

Rotation:

这个几值用于控制粒子的运动轨迹:

Wind and Gravity: 烟为生存时间内在X轴和Y轴上每秒种的像素偏移值

Tint: 粒子的颜色,可以在粒子生存期内变化任意多个颜色

Transparency:粒子的透明度

 

 

package com.hyl.libgdx.a;

import java.util.ArrayList;

import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL10;
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 CGame implements ApplicationListener{
	SpriteBatch batch;
	BitmapFont bf;
	ParticleEffect particle;
	ParticleEffect tem;
	ParticleEffectPool particlepool;
	ArrayList<ParticleEffect> particlelist;
	@Override
	public void create() {
		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() {
		//释放内存
		batch.dispose();
		bf.dispose();
		if(tem!=null){
			tem.dispose();
			particlepool.clear();
		}
		
	}

	@Override
	public void pause() {
		
		
	}

	@Override
	public void render() {
		Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);//清屏
		Gdx.gl.glClearColor(0f, 0f, 0f, 0f);//背景颜色
		batch.begin();//绘图
		bf.draw(batch, "HYL", Gdx.graphics.getWidth()*0.4f,Gdx.graphics.getHeight()/2);
		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());
			}
			System.out.println(particlelist.size());
			batch.end();
			ParticleEffect temparticle;
			for(int i=0;i<particlelist.size();i++){
				temparticle=particlelist.get(i);
				if(temparticle.isComplete()){
					particlelist.remove(i);
				}
			}
		}
		
	}

	@Override
	public void resize(int arg0, int arg1) {
		
		
	}

	@Override
	public void resume() {
		
		
	}
	
}

    第一个参数是Particle Editor生成的编辑文件(注意后缀名也是自己取的,读取的时候记得对应),第二个参数是形成单个粒子的图片文件。

这里有一点非常重要!请万分注意:第一个参数是ParticleEditor生成的编辑文件,图片文件的文件名必须为particle.png,也就是说无论粒子编辑文件的名字是什么,系统读取的图片文件都应该是particle.png,而有关两者的路径问题,举个例子大家就应该能明白。如果在asset下的data文件夹的话,格式应该写为Gdx.files.internal(“data/particle.p”)和Gdx.files.internal(“data/”)也就是说,png图片实际上是不需要在代码中写出来的,不过文件名要保持一致才能正确读取。

 

效果:



 

  • 大小: 101.7 KB
  • 大小: 65.1 KB
0
2
分享到:
评论

相关推荐

    libgdx 粒子编辑器

    "ParticleTestR"可能是一个使用libgdx粒子编辑器创建的示例或测试项目,其中包含了一系列的粒子效果实例。在这个压缩包中,用户可能找到一个或者多个`.particle`文件,每个文件对应一个特定的粒子效果。此外,可能...

    libGDX粒子编辑器汉化版.rar

    在libGDX粒子编辑器中,你可以创建粒子系统,调整粒子的发射器属性(如发射速度、方向、生命周期、颜色变化等),以及粒子的行为模式。编辑器通常提供可视化界面,使你能实时预览粒子效果,并保存为XML文件,这些...

    libGDX粒子编辑器汉化版

    这个“libGDX粒子编辑器汉化版”是libGDX框架的一个扩展工具,专门用于设计和编辑粒子效果。粒子效果在游戏开发中广泛应用于火、烟、光晕、爆炸等视觉特效,能够极大地提升游戏的视觉吸引力。 粒子编辑器是游戏...

    libGDX粒子编辑器

    7. **导出与集成**:完成编辑后,粒子系统可以导出为XML或JSON格式,方便在游戏中加载和使用。libGDX框架内有相应的库函数,可以轻松地将这些粒子效果集成到游戏中。 8. **版本兼容**:libGDX粒子编辑器通常会随着...

    android游戏开发基础模拟粒子系统

    四、LibGDX粒子系统 LibGDX是另一个跨平台的游戏开发框架,它的粒子系统同样强大。开发者可以使用内置的粒子编辑器或者自定义粒子效果。粒子系统在LibGDX中被封装在`ParticleEffect`类中,可以方便地添加到场景中。 ...

    libGdx初探

    **libGdx初探:粒子系统使用指南** libGdx是一个强大的开源跨平台游戏开发框架,它支持Android、iOS、Windows、Linux以及HTML5等多种平台。libGdx为开发者提供了丰富的功能,包括图形渲染、音频处理、物理引擎、...

    (粒子系统实例)火焰喷射

    在安卓游戏开发中,粒子系统是一种常用的技术,用于创建各种视觉特效,如火花、烟雾、水波等。本实例“火焰喷射”是粒子系统应用的一个典型例子,专门讲解如何在Android平台上实现火焰喷射的动态效果。下面将详细...

    libgdx源码invaders

    LibGDX提供了`Animation`类来处理帧动画,对于爆炸、射击效果等,可能会使用到`ParticleEffect`类来实现粒子系统。 5. **用户输入管理**: LibGDX的`Input`类负责处理键盘、鼠标、触摸屏等输入设备的事件,开发者...

    Libgdx开发教程

    随着对Libgdx的深入了解,开发者可以逐渐掌握更高级的功能,如粒子系统、动画控制、网络通信等。同时,学习如何优化代码以适应不同平台的性能需求,尤其是在移动设备上,考虑到有限的计算能力和电池寿命,合理的资源...

    libgdx教程

    8. **跨平台支持**:LibGDX的跨平台特性使得开发者能够在不同的操作系统上使用相同的代码库,大大减少了开发成本。 9. **Extension库**:LibGDX社区还提供了一系列扩展库,如TiledMapReader用于读取TMX地图格式,...

    Libgdx专题系列第一篇 第一节

    在后续的章节中,我们将逐步深入到游戏逻辑、动画、物理引擎、粒子系统等方面,让你全面掌握Libgdx的使用技巧。通过这个专题系列的学习,你将有能力独立开发出富有创新和趣味性的游戏。现在,让我们开始这段激动人心...

    libgdx-0.9.8.zip

    2. **图形渲染**:框架内建了对OpenGL ES 2.0的支持,提供了2D和3D图形渲染能力,包括纹理、着色器、几何图形和粒子系统等。 3. **音频处理**:LibGDX提供了音频播放和处理功能,支持音乐、音效的播放,并且可以...

    libgdx经典游戏实例源码

    7. **音频和视觉效果(Audio and Visual Effects)**:游戏中的背景音乐、跳跃声效以及各种视觉特效,如粒子效果,都可通过 Libgdx 的音频和图形API来实现。 通过对 "Super Jumper"源码的学习,开发者不仅可以了解...

    LibGDX制作android动态壁纸

    在本文中,我们将探讨如何使用LibGDX来制作Android动态壁纸。动态壁纸可以让用户自定义手机主屏幕的背景,使其更具个性化。通过LibGDX,我们可以利用其丰富的图形和动画功能来创建出引人入胜的动态壁纸效果。 首先...

    java粒子特效源码-ludum-engine:我为LudumDare创建的游戏引擎

    LibGDX () 之上 工作正在进行中! 演示 可以在此处找到引擎的可玩演示: 能力 随机地图生成 - 迷宫、洞穴、地牢、障碍物/特征(洞穴探险)、城市、宇宙 4 种不同的游戏类型(上/下步行者、上/下车辆、上/下空间、...

    Android代码-用的libgdx引擎写的ACE弹幕射击游戏设计与开发.rar

    4. **粒子系统**:利用LibGDX的粒子系统创建弹幕效果,如爆炸、火花等。 5. **音频管理**:播放背景音乐和各种音效,增强游戏体验。 6. **状态管理**:游戏可能有多个状态(如菜单、游戏进行、游戏结束),使用...

    libgdx学习资料

    - 社区提供了许多第三方库,如Ashley(实体系统)、TiledMap(地图编辑器支持)和Hiero(位图字体生成器)等,进一步扩展了LibGDX的功能。 这个“libgdx学习资料”压缩包可能包含了上述领域的教程、示例代码、API...

    libgdx 图片翻转

    在游戏开发领域,libGDX 是一款非常...同时,不断探索 libGDX 的其他特性,如粒子系统、精灵表和骨骼动画等,将有助于你更好地利用这个框架。记得在开发过程中保持代码的整洁和模块化,以提高代码的可维护性和复用性。

    Learning LibGDX Game Development, 2nd Edition

    LibGDX是一款用于跨平台游戏开发的开源框架,它支持多种操作系统,包括Windows、Linux、Mac OS X、Android、iOS和Web平台。LibGDX允许开发者使用Java编程语言开发游戏,这样就可以在不同平台之间共享大量的代码,...

    Android--UI粒子破碎效果.zip

    1. LibGDX粒子系统:LibGDX是一个跨平台的游戏开发框架,它提供了一个强大的粒子编辑器,允许开发者设计复杂的粒子效果,然后在Android应用中导入和使用。通过这个工具,你可以预设粒子的生命周期、颜色变化、速度、...

Global site tag (gtag.js) - Google Analytics