簡體   English   中英

Thread Vs javax.swing.Timer,用Java控制游戲動畫?

[英]Thread Vs javax.swing.Timer, controlling game animation in Java?

關於Java中的Thread和Timer類,我有一個非常直截了當的問題,作為創建游戲動畫的一種方式。 哪兩個更好? 兩者之間真正的區別是什么,在Java中動畫方面最受歡迎? 我希望我的問題能說明,這與我在這里的一個問題得到的答案有關... 問題

GUI需要在EDT上更新以確保正確完成繪畫。 閱讀Swing教程關於並發的部分,以獲得有關此概念的完整說明。

當您使用Swing Timer時,事件在EDT中執行,因此您可以告訴組件在新位置重新繪制自己。

當你使用Thread時,循環就在EDT上完成,你需要使用SwingUtilities.invokeLater(...)將繪畫代碼放回到EDT上。

通常,如果您的代碼只是將組件從一個位置移動到另一個位置,那么最簡單的方法就是使用Timer。 但是,如果您的游戲涉及許多復雜的邏輯,那么您不希望該邏輯在EDT上執行,因為它會阻止GUI響應事件並重新繪制自身。 在這種情況下,您可能想要使用Thread。

暫無
暫無

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

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