私はJavaで作った簡単なゲームを持っています。基本的に、私のプログラミング能力は比較的基本的なものであり、ゲームが表示されているウィンドウのサイズを変更し、画像がそのままの場所にとどまらず、より広い領域に白さを表示できるようにしたいと考えています. これがスクリーンショットです。これを行う簡単な方法はありますか?
3 に答える
既存の 2 つの回答では、ゲーム スペースのサイズを変更したいと考えているようです。
ゲームスペースのサイズを変更する
シューティングゲームであるゲーム空間は、必ずしも適切にサイズ変更されるとは限りません。EG ゲームの幅が 2 倍の場合、左右の矢印を押すと、船は 2 倍の速さで移動する必要がありますか? ウィンドウを垂直方向に伸ばすと、重力が増加しますか、それともショットの速度が増加しますか?
ゲームスペースを埋める
私が質問を読んだ方法では、ゲームスペースをウィンドウの中央に配置したいだけです. そのEGは、この回答で見ることができます。
最上位コンテナーのサイズを修正します。
多くのゲームでは、サイズを修正して、1 番目のアプローチで発生するタイプの問題を回避し、2 番目のアプローチの周りの「大きな空白の帯」を回避します。これは、 を呼び出すのと同じくらい簡単setResizable(false)
です。
この手法を最適に機能させるには:
- ゲームのレンダリングを行うコンポーネントに適切なサイズが設定されていることを確認してください。
- それ (および他のすべてのコントロール) をフレームに追加します。
frame.pack()
フレームがコンテンツを表示するのに適切なサイズであることを確認するために呼び出します。- (最後に) 呼び出します
frame.setResizable(false)
。
ゲームをストレッチするには、まずImage
. そして瞬時に引き伸ばしながら絵を描きます。
Image dbImage; // The backbuffer
graphics.drawImage(dbImage, 0, 0, getWidth(), getHeight());
また、ほとんどのゲームは、エンジンと共にウィンドウのサイズ変更を無効にすることを好みます。
あなたの質問について私が理解していることに基づいて、ゲームを境界を越えて「引き伸ばし」、ウィンドウの残りの部分に拡張したいと考えています。(それが間違っている場合は、おっと :s)
これを達成するには、いくつかの決定を下す必要があります。ゲーム全体をフレームに合わせて拡大縮小することも、背景だけを拡張することもできます。ただし、どの方向に進みたいかによって、さまざまなことを行う必要があります。
最終的に、この決定は完全にあなた次第です。
また、ウィンドウを作成するために何を使用していますか?