簡體   English   中英

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

[英]what does particleEmitter.start() method do in particle emitter class?

無論我是否使用start()方法,粒子發射器是否都以相同的方式運行,那么start()方法的用途是什么。

如果您查看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() (如果已經運行此發射器,則重新啟動它。)

希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM