-1

「Kill​​er Game Programming in Java」という本を手に入れました。J2SE 5.0 をインストールするはずでしたが、J2SE はサポート終了になりました。StackOverflow と作成者との話し合いの後、oracle.com から更新バージョンの JSE 7u5 をインストールしました。JREを含むJDKをダウンロードしました。そのため、現在、JDK 1.7 で NetBeans 7.1.2 を使用していますが、端末では 1.7.0_05 と呼ばれています。最初のプログラムは、main メソッドがないと実行できないと言っています。インストールした更新バージョンがこの本のプログラムで動作しない理由はありますか? 試してみるべき別の推奨バージョンはありますか? 以下に完全なコードを投稿しました。編集なし。このリンクから直接取得できますhttp://fivedots.coe.psu.ac.th/~ad/jg/ch1/ch1.pdfエラーは斜体で太字になっています。

public class GamePanel extends JPanel implements Runnable
{
  private static final int PWIDTH = 500;   // size of panel
  private static final int PHEIGHT = 400;
private Thread animator;
private boolean running = false;
private boolean gameOver = false;
// more variables, explained later
       :
public GamePanel()
// for the animation
// stops the animation
// for game termination
{
  setBackground(***Color***.white);    // white background
  setPreferredSize( new ***Dimension***(PWIDTH, PHEIGHT));
  // create game components

}  // end of GamePanel()
public void addNotify()
/* Wait for the JPanel to be added to the
   JFrame/JApplet before starting. */
{
  ***super.addNotify();***   // creates the peer
  startGame();         // start the thread
}
private void startGame()
// initialise and start the thread
{
  if (animator == null || !running) {
    ***animator = new Thread(this);***
    animator.start();
  }
} // end of startGame()
public void stopGame()
// called by the user to stop execution
{  running = false;   }
public void run()
/* Repeatedly update, render, sleep */
{
  running = true;
  while(running) {
    gameUpdate();
    ***gameRender();***
    repaint();
try {
// game state is updated
// render to a buffer
// paint with the buffer
Thread.sleep(20);  // sleep a bit
      }
      catch(InterruptedException ex){}
    }
    System.exit(0);   // so enclosing JFrame/JApplet exits
  } // end of run()
  private void gameUpdate()
  { if (!gameOver)
      // update game state ...
  }
  // more methods, explained later...
}  // end of GamePanel class    
4

2 に答える 2

1

通常、最新バージョンで作業する必要があります。ただし、「古い」コードが現在予約されているキーワードを使用しているため、問題が発生する場合があります。-source 1.5Java 7 を使用している場合でも、とを使用して Java 1.5 のコンパイルを使用するようにコンパイラを設定できます-target 1.5。ただし、Java コンパイラのバージョンとは異なる問題が発生している可能性が高くなります。

エラーメッセージはありませんが、実際の問題を解決するには説明が一般的すぎます。

于 2012-06-14T22:02:52.330 に答える