動畫程式骨架
這個主題的動畫程式骨架主要是使用Java程式為範例,使用多執行緒來進行動畫的狀態改變,其它的程式語言其實類似, 最後也補充了不使用多執行緒的版本。 Java的程式骨架 package cc . openhome ; import java . awt .*; import javax . swing . JApplet ; public class AnimationSkeleton extends JApplet implements Runnable { // 定義多執行緒的方法 public void run () { // 動畫迴圈 while ( true ) { // 動畫的狀態改變、緩衝區繪圖 this . repaint (); // 重繪畫面 // 執行緒暫停 50 毫秒 try { Thread . sleep ( 50 ); // 避免Busy loop } catch ( InterruptedException e ) { // 例外處理 } } // while結束 } // run()結束 // 改寫update(),避免畫面不連續 public void update ( Graphics g ) { this . paint ( g ); // 單純呼叫paint() } public void paint ( Graphics g ) { super . paint ( g ); // 繪圖動作 } } 在這個骨架中,實作Runnable以使用多執行緒進行動畫狀態的改變,在這邊要養成一個習慣:「將動畫狀態的改變與繪 圖兩個工作分開。」這可以讓程式的邏輯更為清楚,...