粒子系统 libGDX [关闭]

Posted

技术标签:

【中文标题】粒子系统 libGDX [关闭]【英文标题】:Particle System libGDX [closed] 【发布时间】:2012-03-23 02:46:26 【问题描述】:

谁能给我一个很好的例子,说明从哪里开始在 libGDX 中制作粒子系统?我已经查看了 libGDX 源代码中的测试示例,但我仍然无法理解它。也许只是对它的一个很好的解释会有所帮助。我在想我想用很多彩色粒子制作某种爆炸。非常感谢任何帮助!

【问题讨论】:

【参考方案1】:

在你的游戏类中定义一个粒子效果:

public ParticleEffect particleEffect;

初始化它:

    particleEffect = new ParticleEffect();
    particleEffect.load(Gdx.files.internal("data/particleEffect.p"), 
            Gdx.files.internal("data"));

在您的render() 方法中,将其放置在您希望发射粒子的位置(爆炸位置):

    particleEffect.setPosition(world.effectX, world.effectY);

最后画出来(也在render()内):

    particleEffect.draw(spriteBatch, delta);

就是这样,非常简单明了。

另一件事,效果本身,看看 Nate 的粒子编辑器,http://libgdx.googlecode.com/svn/jws/particle-editor.jnlp。使用编辑器,您应该能够创建漂亮的效果。否则,从示例中复制粒子文件并进行修改。

【讨论】:

非常感谢,这正是我想要的。一个不错的简单示例和解释......粒子编辑器是否适合您?我无法打开它,有什么想法吗?再次感谢! 您还需要调用particleEffect.start(); 才能真正启动粒子系统。 在我的设置中.start() 不是必需的...奇怪,可能在particleEffect 的初始化中某处被调用。至于编辑器,我不太清楚为什么,但只有当我将它下载到我的默认下载文件夹并从浏览器中启动它时它才会运行。可能是由于一些 Java Web Start 安全策略... 我认为start() 仅在您的效果不连续时才需要。从我所看到的情况来看,持续的影响似乎是自行运行的。我对ParticleEditor 所做的只是从SVN 中的源代码构建它。我就是这样做的,效果很好。 什么是“Gdx.files.internal("data"));" ?【参考方案2】:

这篇博文中的一些文档: http://www.badlogicgames.com/wordpress/?p=1255 博客文章被复制粘贴到 wiki: https://code.google.com/p/libgdx/wiki/ParticleEditor 将来编写真正的文档时,它们会在那里。

另外,从源代码运行它以获取最新版本,因为 JWS 很难更新。

现在是一个视频: http://www.badlogicgames.com/wordpress/?p=2462

【讨论】:

抱歉这个愚蠢的问题,但我如何从源头运行它...谢谢

以上是关于粒子系统 libGDX [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Libgdx之粒子系统

Libgdx - 如何仅在按住鼠标按钮时产生粒子?

Libgdx - 如何旋转 3d 粒子的发射轨迹

LibGDX:粒子尺度

ThreeJS功能解读——粒子和粒子系统

Unity的粒子系统(一)