コンテンツにスキップ

ゲームビュー

IGameView は、ウィンドウの表示・サイズ・タイトル・表示状態などを管理するインターフェースです。シーン内では View プロパティを通じてアクセスします。

public class MyScene : Scene
{
public override void OnStart()
{
View.Title = "ゲーム開始!";
var (width, height) = View.Size;
}
}
// ウィンドウの位置
View.Location = new VectorInt(100, 100);
// ゲーム解像度(論理ピクセル)
View.Size = new VectorInt(800, 600);
// 実際のデバイス解像度(DPIスケーリング後)
var actualSize = View.ActualSize;
// Retinaなどの高解像度ディスプレイのピクセル比
var pixelRatio = View.PixelRatio;

ゲーム内の論理解像度を変えずに、ウィンドウの表示倍率を整数倍で拡大できます。ピクセルアートゲームに便利です。

View.Scale = 1; // 等倍
View.Scale = 2; // 2倍(320x240 → 640x480)
View.Scale = 4; // 4倍
View.IsVisible = true; // 表示/非表示
var focused = View.IsFocused; // フォーカス状態(読み取り専用)
View.IsFullScreen = false; // フルスクリーン
View.Title = "My Game";
View.Mode = WindowMode.Resizable; // リサイズ可能
View.Mode = WindowMode.Fixed; // 固定サイズ
View.Mode = WindowMode.NoFrame; // フレームなし
// テクスチャとして取得
var texture = View.TakeScreenshot();
// ファイルに保存
await View.SaveScreenshotAsync("screenshot.png");
// ウィンドウリサイズ
View.Resize += () =>
{
Console.WriteLine($"新しいサイズ: {View.Size}");
};
// ファイルドロップ
View.FileDropped += e =>
{
foreach (var file in e.Files)
Console.WriteLine($"ドロップされたファイル: {file}");
};
  • 時間管理 - フレーム時間・FPS・タイムスケール
  • PrometeApp - アプリケーションの初期化