无论我是否放置 start() 方法,我的粒子发射器都以相同的方式运行,那么 start() 方法有什么用。
问问题
37 次
1 回答
0
如果你查看 ParticleEffect 类的源代码,然后查看 start 方法,你会看到 -
public void start () {
for (int i = 0, n = emitters.size; i < n; i++)
emitters.get(i).start();
}
基本上,这意味着它正在遍历所有发射器并调用 ParticleEmitter#start 方法。
现在让我们看看 ParticleEmitter 的 start 方法。
public void start () {
firstUpdate = true;
allowCompletion = false;
restart();
}
基本上从该方法中,您可以看到它将firstUpdate
布尔值设置为 true,这意味着“这是第一次更新”,即我们将第一次做某事(查看源代码以查看布尔值的使用位置)
下一行,它设置allowCompletion
为 false,这意味着,如果发射器已经在进行中,不要让它完成(检查源代码以查看布尔值的使用位置)
最后的调用是不restart()
言自明的(如果它已经在运行,则重新启动这个发射器。)
我希望这有帮助。
于 2018-09-19T15:54:44.223 回答