見出し画像

[Siv3D] カーソルの見た目をカスタマイズする

既存のカーソルではなく、自ら描いたカーソルを使いたいということは、よくありましょう。

/// @brief カスタムのマウスカーソルを登録します。
/// @param name カスタムマウスカーソルの名前
/// @param image カスタムマウスカーソルの画像
/// @param hotSpot 画像中のクリック位置
/// @return カスタムのマウスカーソルの登録に成功した場合 true, それ以外の場合は false
bool RegisterCustomCursorStyle(StringView name, const Image& image, Point hotSpot = Point{ 0, 0 });

GitHubを読みますと、「RegisterCustomCursorStyle」というメソッドがありました。そこで、画像のPathからカーソルの登録を行う関数を作りました。

void registerCursorFromImage(String _path, String _cursorName, Point hotSpot = Point{0, 0})
{
	// 画像を読み込む
	Image img{_path};
	// カーソルのStyleに登録
	Cursor::RegisterCustomCursorStyle(
		_cursorName,
		img,
		hotSpot);
}

これで、自作のカーソルがエンジンに登録されます。あとは、メインループの中に次のコードを追加すれば、その名前で登録されたカーソルが表示されます。

Cursor::RequestStyle(U"登録したカーソル名");

使用例

参考


いいなと思ったら応援しよう!