マウス入力
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)。
- マウスがウィンドウ外に出た場合のイベントも取得可能です。