2015-01-06 34 views
1

我學習Java和我打算讓與揮杆比賽,但我有幾個問題:爪哇 - 的JPanel VS帆布

  1. Iknow,我不應該混AWT和Swing,但我閱讀該畫布有積極的渲染和擺動元素呈現渲染(你必須等待操作系統調用paint()paintComponent()),並且對於遊戲更好使用active.What是在JPanel上使用canvas的好處或優點,或者Canvas上的JPanel ?
  2. 擴展其中之一(Canvas或JPanel類)並實例化它們有什麼好處?
  3. 什麼是Canvas.getBufferStrategy()JFrame.getBuffertrategy之間的區別是什麼?(我知道這是不是靜態方法)
  4. 這是很好的做一個BufferStrategy使用到一個JPanel或者JComponent類模擬活動的渲染(我知道,Swing組件是隱式雙人間-緩衝的)?

我搜索了這些問題,但我沒有找到一個很好的答覆。

+2

我自己的經驗是一個自定義的畫'JPanel'適用於大多數動畫(例如簡單遊戲)。 OTOH,你真的想要認真對待屏幕控制,你最好看看[全屏獨家模式](http://docs.oracle.com/javase/tutorial/extra/fullscreen/)。 –

回答

0

如果您計劃複雜的遊戲,我建議不要使用java2D或canvas。對於像PingPong這樣的小遊戲,或者類似java2D的遊戲確實不錯,但是您會注意到,在更復雜的遊戲中獲得恆定的60 fps速率非常困難。

如果您計劃更加複雜的遊戲: LibGDX

的好處是,你可以開發獨立於平臺(桌面,安卓,IOS,的Webbrowser)

+0

首先我想用純粹的java開發遊戲,但是LibGDX是一個很好的遊戲開發解決方案,謝謝。 –