【问题标题】:How can I know the time to completion of a ParticleEffect我如何知道完成 ParticleEffect 的时间
【发布时间】:2015-03-19 20:51:50
【问题描述】:

有没有办法获得在libgdx 中完成ParticleEffect 的时间? 例如,假设我希望在 ParticleEffect 完成前一秒发生一些事情:

private void foo(){
    ParticleEffect bombEffect = new ParticleEffect();
    bombEffect.load(Gdx.files.internal("particles/bomb.p"), atlas);
    .
    .
    .
    if(timeToCompletion(bombEffect) < 1){ 
        // do something
    }
    .
    .
    . 
}

private float timeToCompletion(ParticleEffect pEffect){
    // How can this be implemented??
}

【问题讨论】:

    标签: java libgdx effects particles


    【解决方案1】:

    你知道粒子效果的持续时间。比你可以在一些变量中计算时间。然后检查持续时间 - thistime

    另一个想法是从 ParticleEffect 扩展您自己的类并在那里实现此功能,您将能够调用类似 yourEffect.getPassedTime ();

    希望这对您有用。祝你好运。

    【讨论】:

    • 1.我如何知道粒子效果的持续时间? 2. 你是对的。一旦我了解了如何做到这一点,扩展ParticleEffect 是更好的方法。
    • 粒子效果有setDuration方法。
    • 该方法设置持续时间。没有getDuration 方法。
    • 但是如果你可以设置持续时间并且你知道你什么时候发射你的粒子,那么你就可以计算经过的时间
    • 我不使用setDuration。我正在使用粒子编辑器来构建粒子的属性。由于持续时间是随机的(在两个 MinMax 值之间)我不知道粒子创建时的确切持续时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多