首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Libgdx:在y轴上翻转粒子

Libgdx:在y轴上翻转粒子
EN

Stack Overflow用户
提问于 2018-01-03 16:19:04
回答 1查看 88关注 0票数 0

我目前正在尝试翻转粒子效果(libgdx API)。到目前为止最棒的是:新创建的粒子被正确地翻转了,因为我改变了发射器的参数。但我也想翻转已经存在的粒子。

创建的粒子在ParticleEmitter类之外不可用,因此我决定复制代码并复制ParticleEmitter类。

所以我的代码看起来像这样:

代码语言:javascript
运行
复制
    ParticleEmitter emitter;

    for (int i = 0; i < getEmitters().size; i++) {

        emitter = getEmitters().get(i);


        // change already existing particles:

        Particle[] particles = emitter.getParticles();
        boolean[] active = emitter.getActive();
        for (int j = 0, n = active.length; j < n; j++) {
            if (active[j] == true) {
                Particle particle = particles[j];

                // Here I have to do something with the particle



            }
        }

        // change emitter parameters for new created particles: 

        /*
        *
        *  emitter.setValue(...)
        *
        */
    }

也许你有个好主意?谢谢:)

EN

回答 1

Stack Overflow用户

发布于 2018-01-03 21:23:17

如果要翻转所有粒子,请尝试ParticleEmitter的scaleSize方法:

代码语言:javascript
运行
复制
// Horizontal (X)
emitter.scaleSize(-1, 1);

// Vertical (Y)
emitter.scaleSize(1, -1);

你也可以使用flip(..)来翻转单个粒子

代码语言:javascript
运行
复制
particle.flip(true, false); // X
particle.flip(false, true); // Y
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48073601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档