[英]How to do animation using swing and clojure?
我試圖在棋盤上制作棋子。 首先,我創建了一個java.util.Timer對象,“scheduleAtFixedRate”是一個實現為代理函數的TimerTask。 所以我保留了要移動的片段(片段移動記錄)以及何時適當(當用戶使用鼠標移動片段時)的記錄,如果記錄不是nil並執行片段,則應測試TimerTask代理函數 - 移動功能。 片段移動功能僅根據預先計算的矢量更新片段的x和y坐標。 我在片段移動記錄上添加了一個添加手表,所以當它改變時它應該重新繪制板(畫布)。 paint方法測試這件棋子的動作記錄是否為零。
問題是動畫沒有出現。 這件作品只是跳到命運,沒有兩者之間的運動。 動畫方案有一些問題,你有更好的方法嗎?
Swing不會自動執行動畫,如果你有一個計時器也沒關系。 如果你想要為動畫制作動畫,你需要一次移動一段距離並用每一個動作重新繪制畫布,這樣就可以說出運動的錯覺。
你可以使用Trident庫: 這里
JDK中有一個Animator演示。 它使用awt但它應該給你一些想法。
jdk1.6.0_20 \\演示\\小程序\\動畫
另一個想法可能是從processing.org查看Processing可視化框架。 它是一種簡單但功能強大且文檔齊全的動畫和可視化編程語言。 API非常簡單,並且具有一個名為Rosado的非常透明的Clojure包裝器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.