現在、Win 8 Windows ストア ゲーム (Monogame、C#) に取り組んでいます。graphics.PreferredBackBuffers を 1366x768 に設定しました。私が主に開発に使用しているラップトップは、この解像度をサポートしておらず、それに接続されている外部モニターもサポートしていませんが、すべてが適切にスケーリングされるため、スプライトは別のモニターで圧縮または引き伸ばされます (ゲームがドラッグされた場合、これは保持されません)。実行中の別のモニター)。マウスを使用してゲームオブジェクトをドラッグする必要がありますが、マウスカーソルがモニターの解像度で機能することに気付いたので、次のようにします:
if(objectSprite.BoundingBox.Contains((int)mouseCursos.x, (int)mouseCursos.Y))
{
objectSprite.isHooked = true;
}
マウスの座標は常にゲーム オブジェクトの座標とは異なるため、動作しません。座標をスケーリングできるように、現在のモニターの最大解像度を取得するにはどうすればよいですか。
GraphicsAdapter.DefaultAdapter.CurrentDisplayMode は 800x600 を返すことに注意してください。