コンテンツにスキップ

マウス入力

Prometeでは、Mouseプラグインを使ってマウスカーソルの位置やボタン入力、ホイールスクロールなどを簡単に取得できます。

基本の使い方

Mouseはプラグインとして登録し、シーンのコンストラクタで依存性注入を利用して受け取ります。

// プラグイン登録例(Program.cs)
var app = PrometeApp.Create()
.Use<Mouse>()
.BuildWithOpenGLDesktop();
return app.Run<MainScene>();
// シーンでの利用例
public class MainScene(Mouse mouse) : Scene
{
public override void OnUpdate()
{
var pos = mouse.Position;
if (mouse[MouseButtonType.Left].IsButtonDown)
{
// 左クリック時の処理
}
}
}

主なAPI

  • mouse.Position
    マウスカーソルの現在位置(VectorInt型)
  • mouse.Scroll
    ホイールのスクロール量(Vector型)
  • mouse[MouseButtonType.Left]
    左ボタンの状態(IsPressed, IsButtonDown, IsButtonUp など)
  • mouse[0]
    インデックスでボタン指定も可能

サンプル:お絵かきツール

public override void OnUpdate()
{
if (mouse[MouseButtonType.Left].IsPressed)
DrawLine(previousPosition, mouse.Position);
if (mouse[MouseButtonType.Right].IsButtonDown)
ClearCanvas();
previousPosition = mouse.Position;
}

ノート

  • ボタンは MouseButtonType で指定できます(Left, Right, Middle など)。
  • ボタンの状態はフレームごとにリセットされます(IsButtonDown/IsButtonUp)。
  • マウスがウィンドウ外に出た場合のイベントも取得可能です。