[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"登録したカーソル名");