マウス
Mouse は マウス入力に関する基本的な機能を提供します。
Mouse
Mouseでは次の機能を提供します。
- マウスカーソルの座標を取得・設定
- マウスボタンの状態を取得
- マウスホイールの回転量を取得を取得
- カーソルモードの取得または設定
基本的な呼び出し手順
Altseed2のInitializeを呼び出した後、Engine.Mouse という形でMouseの各種メソッドを呼び出してください。
Note
MouseButtonやButtonStateは Mouseには含まれていません。
カーソル座標
サンプル
using System;
using Altseed2;
namespace Sample
{
class Mouse
{
static void Main(string[] args)
{
// Altseed2 を初期化します。
Engine.Initialize("Mouse", 640, 480);
// 状態を出力するための TextNode を作成します。
// 詳細は TextNode のサンプルを参照してください。
var font = Font.LoadDynamicFont("./mplus-1m-regular.ttf", 64);
var textNode = new TextNode();
textNode.Font = font;
textNode.FontSize = 40;
Engine.AddNode(textNode);
while (Engine.DoEvents())
{
// マウスの左ボタンが押されているかどうかを取得します。
if (Engine.Mouse.GetMouseButtonState(MouseButton.ButtonLeft) == ButtonState.Hold)
{
textNode.Text = "左ボタンが押されています。";
}
else
{
textNode.Text = "左ボタンが押されていません。";
}
// マウスの座標を取得します。
Vector2F position = Engine.Mouse.Position;
textNode.Text += $"\nポジション(x/y): {position.X} / {position.Y}";
// マウスホイールの値を取得します。
textNode.Text += $"\nホイール : {Engine.Mouse.Wheel}";
// マウスモードを取得します。
textNode.Text += $"\nモード : {Engine.Mouse.CursorMode}";
Engine.Update();
}
Engine.Terminate();
}
}
}
カーソルの座標の取得・設定は以下のプロパティを通して行います。
- [Position](xref:Altseed2.Mouse.Position
戻り値はVector2Fです。
マウスボタン
サンプル
using System;
using Altseed2;
namespace Sample
{
class Mouse
{
static void Main(string[] args)
{
// Altseed2 を初期化します。
Engine.Initialize("Mouse", 640, 480);
// 状態を出力するための TextNode を作成します。
// 詳細は TextNode のサンプルを参照してください。
var font = Font.LoadDynamicFont("./mplus-1m-regular.ttf", 64);
var textNode = new TextNode();
textNode.Font = font;
textNode.FontSize = 40;
Engine.AddNode(textNode);
while (Engine.DoEvents())
{
// マウスの左ボタンが押されているかどうかを取得します。
if (Engine.Mouse.GetMouseButtonState(MouseButton.ButtonLeft) == ButtonState.Hold)
{
textNode.Text = "左ボタンが押されています。";
}
else
{
textNode.Text = "左ボタンが押されていません。";
}
// マウスの座標を取得します。
Vector2F position = Engine.Mouse.Position;
textNode.Text += $"\nポジション(x/y): {position.X} / {position.Y}";
// マウスホイールの値を取得します。
textNode.Text += $"\nホイール : {Engine.Mouse.Wheel}";
// マウスモードを取得します。
textNode.Text += $"\nモード : {Engine.Mouse.CursorMode}";
Engine.Update();
}
Engine.Terminate();
}
}
}
スティックの取得には以下のメソッドを用います。
戻り値はButtonStateです。
マウスホイール
サンプル
using System;
using Altseed2;
namespace Sample
{
class Mouse
{
static void Main(string[] args)
{
// Altseed2 を初期化します。
Engine.Initialize("Mouse", 640, 480);
// 状態を出力するための TextNode を作成します。
// 詳細は TextNode のサンプルを参照してください。
var font = Font.LoadDynamicFont("./mplus-1m-regular.ttf", 64);
var textNode = new TextNode();
textNode.Font = font;
textNode.FontSize = 40;
Engine.AddNode(textNode);
while (Engine.DoEvents())
{
// マウスの左ボタンが押されているかどうかを取得します。
if (Engine.Mouse.GetMouseButtonState(MouseButton.ButtonLeft) == ButtonState.Hold)
{
textNode.Text = "左ボタンが押されています。";
}
else
{
textNode.Text = "左ボタンが押されていません。";
}
// マウスの座標を取得します。
Vector2F position = Engine.Mouse.Position;
textNode.Text += $"\nポジション(x/y): {position.X} / {position.Y}";
// マウスホイールの値を取得します。
textNode.Text += $"\nホイール : {Engine.Mouse.Wheel}";
// マウスモードを取得します。
textNode.Text += $"\nモード : {Engine.Mouse.CursorMode}";
Engine.Update();
}
Engine.Terminate();
}
}
}
マウスホイールの回転量を取得するには以下のプロパティを使用します。
戻り値は-1~1の範囲のfloatです。
カーソルモード
CursorModeを取得・設定するには、以下のプロパティを使用します。
カーソルモードの設定はCursorModeの中から行ってください。
CursorMode
- Normal ... デフォルト値
- Hidden ... カーソル非表示の状態
- Disable ... カーソルの入力が無効の状態。カーソルがウィンドウ中央にロックされます。
カーソル画像
カーソル画像を指定するには、以下のメソッドを使います。
第一引数に、設定したい画像を読み込んだカーソルオブジェクトを渡します。