【问题标题】:LibGDX - Dynamically change particle emitter's Atlas Region?LibGDX - 动态改变粒子发射器的阿特拉斯区域?
【发布时间】:2014-03-30 02:31:02
【问题描述】:

是否可以动态更改粒子发射器使用的 Atlas Region?

我试过了……

effect.getEmitters().get(0).setImagePath("[someAtlasRegionName]");

...但它继续使用加载效果的原始区域。

似乎有一个 .setSprite(Sprite) 方法,但它不适用于 TextureAtlas。

谢谢。

【问题讨论】:

    标签: libgdx particles


    【解决方案1】:

    编辑Sprite 的字段以将其设置为TextureRegion 有效(Sprite 扩展TextureRegion,因此它具有所有相关字段):

    Sprite s = effect.getEmitters().get(0).getSprite();
    s.setTexture(vessel.getTexture());
    s.setU (someAtlasRegion.getU());
    s.setU2(someAtlasRegion.getU2());
    s.setV (someAtlasRegion.getV());
    s.setV2(someAtlasRegion.getV2());
    effect.getEmitters.get(0).setImagePath(someRegionName);
    

    编辑:我不知道ParticleEmitter.setImagePath() 是否重要,但我也会将其包括在内以防万一——它绝对不会受到伤害。所以我也加了。

    【讨论】:

    • 感谢 MPeti 的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 2019-09-22
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多