Eclipseで実行すると問題なく動作するJavaでゲームを作成しました。すべてが見栄えがよく、効果的に実行されます (少なくとも、何か他の方法を考え出すまでは)。だから私はそれを自分のウェブサイトに載せようとしてきましたが、ブラウザでゲームを実行するたびに、Java コンソールをチェックしてもエラーは表示されませんが、白い画面が表示されます。問題を画面の描画に絞り込むことができました。ゲームを実行して何かを起こすタイマーがあります。最後に、repaint() メソッドを呼び出します。Eclipse では問題なく動作しますが、ブラウザーでは何も起こりません。
関連するコードは次のとおりです (すべて FinalProject というメイン クラス内にあります)。
public class FinalProject extends JApplet implements ActionListener,
KeyListener, MouseListener, MouseMotionListener {
public void init(){
//...initialize program
System.out.println("game started");
}
/**
* A method called every so often by a timer to control the game world.
* Mainly calls other functions to control objects directly, but this
* is used as the only timer, which also calls repaint() at it's end.
*/
private void runGame(){
//...Run game and do important stuff
//This Draws The Screen
System.out.println("about to paint");
repaint();
}
public void paint(Graphics g){
System.out.println("painting");
//...paint screen
}
public void update(Graphics gr){
System.out.println("updating");
paint(gr);
}
}
runGame() はタイマーによって呼び出されます。Eclipse
で
の
出力
は
次
の
とおり
です
。
_
これをブラウザーで実行すると (私のマシンでオフラインで直接実行し
ます。すべての
ブラウザーにも同じ問題があります)、コンソールに次のように表示され
ます
。
basic: アプレットが表示されるようになりました
basic: アプレットが開始されました
basic: クライアントに通知されました アプレットが開始されます
ペイントしようとしています ペイントしようとしています
ペイント
しようとしてい
ます ...
この時点で他に何を試すべきかわかりません。私の努力にもかかわらず、repaint() が何をするのか正確にはまだ完全には理解できていません。ただし、ブラウザでは発生していないようです。Windows 7 64x と Java Version 7 Update 5 を使用しています。