我是一位與libgdx引擎一起工作的新程序員,並且對精靈批處理的行爲感到疑惑。特別是如何在程序生命週期中向批處理添加精靈。到目前爲止,所有精靈的例子都使用了一些類似的代碼: batch.begin(); sprite.draw(batch); batch.end();
等等,而且我不清楚自己如何繪製不同數量的精靈,因爲每個精靈都必須在批處理中調用。謝謝提前解釋!LibGDX Sprite批處理並在運行時添加新的精靈
3
A
回答
2
簡而言之,將每次調用sprite.draw()想象爲在某個點繪製精靈的請求。每次調用sprite.draw()都會將該精靈添加到批處理中。當調用batch.end()時,所有添加到該批處理的精靈將被繪製並且該批處理將被清空。由於該批次的內容不是持久的(即在調用batch.end()時清空),因此每次使用它時都必須添加精靈和圖像。
在以下示例中,要繪製的所有精靈都存儲在精靈集合中,並且每次繪製時都將其添加到該批處理中,如果從一個render( )方法。
batch.begin();
for (sprite : sprites) {
sprite.draw(batch);
}
batch.end()
現實的情況是更復雜一點,因爲精靈批量已滿時,下了幾個情況會刷新,但一個好的經驗法則是添加你要畫上的每個一切,每一幀。
+0
這正是我所尋找的感謝你的解釋 – TypingTurtle
相關問題
- 1. Libgdx改變精靈批處理的着色器
- 2. 用批處理繪製一個部分精靈 - LibGdx
- 3. Sprite Sheet - 在舊精靈之上繪製的新精靈
- 4. 使用Sprite.draw時未繪製的Sprite類(批處理)LibGDX
- 5. 在運行時添加精靈時XNA 4.0遊戲崩潰
- 6. LibGDX正確處理點精靈進行羣集?
- 7. LIBGDX如何從紋理地圖集中添加精靈
- 8. 繪製精靈Libgdx
- 9. Libgdx - 最大精靈
- 10. 在libgdx中傾斜精靈
- 11. 如何添加@NotNull批註的運行時處理
- 12. 運行系統中的精靈渲染器中的Unity Change sprite
- 13. libGDX所有紋理/精靈白色塊
- 14. 靜態sprite批處理?
- 15. 如何將運行時參數添加到批處理文件?
- 16. 處理粒子精靈
- 17. 刪除精靈Libgdx Java
- 18. Libgdx未能畫出精靈
- 19. 刪除精靈Libgdx Java
- 20. 旋轉精靈觸摸libgdx
- 21. Libgdx使用轉換精靈
- 22. libgdx - 精靈不旋轉
- 23. 在一個精靈中組合兩個精靈(Libgdx)
- 24. 狡猾,添加精靈的
- 25. LibGDX在精靈上的黑色邊框
- 26. 使用單個精靈進行批處理動畫精靈效率更高嗎? (cocos2d的)
- 27. 使用資產經理LibGDX加載精靈
- 28. LibGDX整個應用程序的公開精靈批次
- 29. 如何從精靈的arrayList中移除精靈並在精靈發生碰撞時將其從精靈屏幕中移除? Java/Libgdx
- 30. 在txt文件中添加新行Windows批處理
看看舞臺演員系統。它已經實現了一個「舞臺」,您可以添加所有演員。通過一個簡單的抽象舞臺,它吸引了每個演員的當前位置和當前狀態。你可以看看它的代碼來理解系統。也可以看看gameloop概念。 – BennX
偉大的建議頭腦=吹了benn! – TypingTurtle