粒子发射器类中的particleEmitter.start()方法有什么作用?

时间:2018-09-16 06:15:29

标签: libgdx box2d box2dlights

无论我是否放置start()方法,粒子发射器是否以相同的方式运行,那么start()方法的用途是什么。

1 个答案:

答案 0 :(得分:1)

如果您查看ParticleEffect类的源代码,然后查看start方法,则会看到此内容-

public void start () {
    for (int i = 0, n = emitters.size; i < n; i++)
        emitters.get(i).start();
}

基本上,这意味着它正在遍历所有发射器并调用ParticleEmitter#start方法。

现在让我们看一下ParticleEmitter的启动方法。

public void start () {
    firstUpdate = true;
    allowCompletion = false;
    restart();
}

基本上从该方法中,您可以看到其将firstUpdate布尔值设置为true,这意味着“这是第一次更新”,即我们将第一次进行操作(查看源代码以了解使用布尔值的地方)

下一行,将allowCompletion设置为false,这意味着,如果发射器已经在进行中,则不要使其完成(检查源代码以了解使用布尔值的地方)

最后一个调用是restart(),它是不言自明的(如果已经运行此发射器,则重新启动它。)

我希望能有所帮助。