Skip to content

マウス入力

Reputeless edited this page Mar 14, 2017 · 4 revisions

カーソルの位置

# include <Siv3D.hpp>

void Main()
{
	const Font font(40);

	while (System::Update())
	{
		// 現在のカーソルの位置
		const Point pos = Mouse::Pos();

		// カーソルの位置に黄色の円を書く
		Circle(pos, 15).draw(Palette::Yellow);

		// カーソルの位置を数字で表示
		font(pos).draw();
	}
}

ボタンがクリックされた

# include <Siv3D.hpp>

void Main()
{
	const Font font(40);

	int32 count = 0;

	while (System::Update())
	{
		// マウスの左ボタンがクリックされたら
		if (Input::MouseL.clicked)
		{
			++count;
		}

		// マウスの右ボタンがクリックされたら
		if (Input::MouseR.clicked)
		{
			--count;
		}

		font(count, L'').draw();
	}
}

ボタンが押されている

# include <Siv3D.hpp>

void Main()
{
	const Font font(40);

	int count = 0;

	while (System::Update())
	{
		// マウスの左ボタンが押されていたら
		if (Input::MouseL.pressed)
		{
			++count;
		}

		// マウスの右ボタンが押されていたら
		if (Input::MouseR.pressed)
		{
			--count;
		}

		font(count, L'').draw();
	}
}

ボタンが離された

# include <Siv3D.hpp>

void Main()
{
	const Font font(40);

	int count = 0;

	while (System::Update())
	{
		// マウスの左ボタンが離されたら
		if (Input::MouseL.released)
		{
			++count;
		}

		// マウスの右ボタンが離されたら
		if (Input::MouseR.released)
		{
			--count;
		}

		font(count, L'').draw();
	}
}

カーソルの移動量

# include <Siv3D.hpp>

void Main()
{
	const Font font(40);

	Point pos(200, 200);

	while (System::Update())
	{
		// 前フレームからのカーソルの移動量
		const Point delta = Mouse::Delta();

		pos += delta;

		Circle(pos, 15).draw(Palette::Yellow);

		// 移動量を数字で表示
		font(delta).draw();
	}
}

ホイールの回転

# include <Siv3D.hpp>

void Main()
{
	Point pos(200, 200);

	while (System::Update())
	{
		// 縦方向のホイール回転量
		const int32 wheelY = Mouse::Wheel();

		// 横方向のホイール回転量
		const int32 wheelX = Mouse::WheelH();

		pos.y += wheelY;
		pos.x += wheelX;

		// ホイールを動かすと、黄色い四角が動く
		Rect(pos, 100, 100).draw(Palette::Yellow);
	}
}

キーとの組み合わせ

# include <Siv3D.hpp>

void Main()
{
	const auto ok = Input::KeyZ
		| Input::KeySpace
		| Input::KeyEnter
		| Input::MouseL;

	while (System::Update())
	{
		if (ok.pressed)
		{
			Circle(100, 100, 100).draw();
		}
	}
}

← 前の章へ戻る | - 目次 - | 次の章へ進む →

Siv3D について

  1. Siv3D の基本
  2. 図形を描く
  3. テクスチャを描く
  4. テキストを描く
  5. 文字列と数値の変換
  6. キーボード入力
  7. マウス入力
  8. サウンドの再生
  9. MIDI の再生
  10. ウィンドウと背景
  11. 図形のあたり判定
  12. 乱数
  13. ダイアログ
  14. ドラッグ & ドロップ
  15. アプリの状態
  16. テキストファイル
  17. INI, CSV, JSON
  18. バイナリファイル
  19. GUI
  20. アセット管理
  21. 画像編集
  22. Web カメラ
  23. マイク入力
  24. 経過時間の測定
  25. HSV カラー
  26. ファイルダウンロード
  27. 3D 描画
  28. 2D のレンダーステート
  29. 3D のレンダーステート
  30. パーティクル
  31. スクリーンショット
  32. アプリケーションの公開
  33. さらに学ぶには

表現テクニック集

入出力デバイス

開発のヒント

Clone this wiki locally