particleEmitter.start() 方法在粒子发射器 class 中做了什么?
what does particleEmitter.start() method do in particle emitter class?
不管我放不放start()方法,我的粒子发射器运行方式都是一样的,那么start()方法有什么用
如果你看ParticleEffect的源码class再看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,这意味着 "this is the first update" 即我们将第一次做某事(查看源代码以了解使用布尔值的地方)
下一行,它将 allowCompletion
设置为 false,这意味着,如果发射器已经在进行中,不要让它完成(检查源代码以查看布尔值的使用位置)
最后调用 restart()
,这是不言自明的(如果它已经是 运行,则重新启动此发射器。)
希望对您有所帮助。
不管我放不放start()方法,我的粒子发射器运行方式都是一样的,那么start()方法有什么用
如果你看ParticleEffect的源码class再看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,这意味着 "this is the first update" 即我们将第一次做某事(查看源代码以了解使用布尔值的地方)
下一行,它将 allowCompletion
设置为 false,这意味着,如果发射器已经在进行中,不要让它完成(检查源代码以查看布尔值的使用位置)
最后调用 restart()
,这是不言自明的(如果它已经是 运行,则重新启动此发射器。)
希望对您有所帮助。