0
私は現在、少しゲームに取り組んでいます。私はこの前に2つのゲームを作ったので、あまりにも苦労しないと思っていました。私はプレーヤーのためのrenderメソッドを作っレンダリング方法が動作しない
だから、それは次のようになります。
public void render(Graphics g) {
switch(objState) {
case Static:
g.setColor(Color.black);
g.fillRect(50, 50, width, height);
//g.drawImage(staticimg, x, y, null);
break;
case WalkRight:
g.setColor(Color.white);
g.fillRect(x, y, width, height);
//g.drawImage(walkright, x, y, null);
break;
case WalkLeft:
g.setColor(Color.cyan);
g.fillRect(x, y, width, height);
//g.drawImage(walkleft, x, y, null);
break;
case Stop:
g.setColor(Color.green);
g.fillRect(x, y, width, height);
//g.drawImage(stop, x, y, null);
break;
default:
break;
}
}
しかし、プレイヤーがレンダリングされていない、私はそれが実際になってきたかどうかを確認するためにrenderメソッドの先頭にSYSOUTを追加しましたと呼ばれ、私はそれがわかった。
objStateはObjectState.Staticと等しいので、最初のケースを呼び出す必要があります。
このクラスとまったく同じGraphicsを使用したマップのレンダリングメソッドを作成しました。うまくいきましたので、Graphicsも問題ではないようです。最初のケースと同じことをするswitch文の外に少しだけコードを追加しようとしましたが、まだ何もレンダリングされていません。
'Static'は文字列ですか? ObjectStateクラスのこのレンダリングメソッドですか? – johmsp
@johmsp renderメソッドはPlayerというクラスにあり、staticはObjectStateのenumです – ItzBenteThePig
これが呼び出されるときの幅と高さは何ですか? – Frecklefoot