私は XNA に少し慣れていませんが、できる限り問題を説明しようと思います。
graphics.PreferredBackBufferHeight
と を設定して、ゲーム内の解像度を変更したいgraphics.PreferredBackBufferWidth
。
1920にgraphics.PreferredBackBufferWidth
設定して開始し、1080に設定すると、ゲームは正常に初期化されます。graphics.PreferredBackBufferHeight
ただし、ボタンを押すだけで、1280にgraphics.PreferredBackBufferWidth
設定し、720に設定します。(どちらの解像度も16:9 です)graphics.PreferredBackBufferHeight
ただし、ご想像のとおり、初期化graphics.PreferredBackBufferWidth
とgraphics.PreferredBackBufferHeight
Initialize メソッドでの動作は正常に機能します。しかし、両方の値を変更し、続いてgraphics.ApplyChanges()
, OUTSIDE Initialize を実行すると、画面が変な形で伸びたり、まったく正しく表示されなくなったりします。
- 初期化以外で BackBuffer の幅/高さを変更するにはどうすればよいですか?
- これらを初期化で設定すると、なぜ同じにならないのですか?
- Initialize を再度呼び出す必要がありますか?