作者pao0111 (理想绝非空想)
看板java
标题Re: [问题] 关於动画模拟 使用Thread 程式的架构
时间Thu Apr 9 22:40:52 2009
我的作法也是同样利用java.util.Timer去负责计时。
而呼叫Timer.scheduleAtFixedRate()才会得到固定的计时事件发生间隔。
另外也会利用Active Rendering的技巧,直接重绘动画。而不透过EDT帮
我们重绘,效率会比较高。
若要使用Active Rendering,需要对欲绘图的图形元件(JComponent的子类),
呼叫setIgnoreRepaint(false)以避免EDT同时绘制影像。
接着呼叫该元件的getGraphics()取得Graphics物件,往後的绘图执行绪即可不断
使用此Graphics重绘影像。
但要注意的是,getGraphics()方法需要此元件已经显示於萤幕上才能取得物件。
否则回传的会是null。
我测试过FPS大致都跟设定的值蛮接近的,提供你参考参考 ^^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.18.62.63
1F:推 howdou:感谢!!! 04/09 23:37