【发布时间】:2017-08-02 23:54:58
【问题描述】:
我会切入正题。 所以我正在制作这个游戏,你应该用你的咒语杀死其他物体我创造了子弹和他们的身体,我们都很好,它正在工作。 但我想让它看起来特别和“神奇”,所以我决定使用粒子。我已经制作了粒子,并使用以下代码让它们跟随子弹体:
for (Bullet bullet : bullets) {
bullet.update(dt);
if (!bullet.destroyed){
fireFx.start();
fireFx.setPosition(bullet.getPosition().x, bullet.getPosition().y);
fireFx.update(dt);
}
}
但是当我发射多发子弹时出现问题,粒子刚刚从我发射的所有第一发子弹中消失,只出现在最后一颗子弹上。有人可以带领我做这个吗?
-----------------编辑-----------------
现在我遇到了另一个问题,即当子弹与某物碰撞时,它会被破坏并且渲染方法停止工作,但我希望它继续渲染直到动画结束。就像我不希望它们突然消失一样,这是我的代码:
for(int i = 0; i<bullets.size; i++){
if(!bullets.get(i).destroyed && !bullets.get(i).fireFx.isComplete())
bullets.get(i).fireFx.draw(game.batch);
}
fireFx.isComplete() 无法正常工作是什么原因?
【问题讨论】:
-
为每个子弹单独创建粒子
-
@AbhishekAryan 我该怎么做?我试过创建一个 ArrayList 但它似乎不起作用 ://
-
fireFx 的类型是什么?文档在 isComplete() 上说了什么?
-
@MichaëlDemey 这是一个 ParticleEffect,它在文档中什么也没说。但它用于重置某些教程的效果,例如: if(particleFx.isComplete()){particleFx.reset();所以我认为它正在检查它是否完成动画..