【Godot4】カーソルがButtonにホバーしたらカーソルの形状を変更する

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【Godot4】カーソルがButtonにホバーしたらカーソルの形状を変更する

2024-9-4 | ,

Godot4でカーソルがButtonにホバーしたらカーソルの形状を変更したい!

概要

今回の記事では、Godot4でカーソルがButtonにホバーしたらカーソルの形状を変更する手順を掲載する。

仕様書

環境

  • Gogot 4.3

手順書

はじめにTextureButtonに下記のようなコードをアタッチしてみたんだけどもうまく動かなかった。

extends TextureButton

func _ready():
    self.mouse_entered.connect(
        func():
            print("mouse_entered")
            Input.set_default_cursor_shape(Input.CURSOR_POINTING_HAND)
    )

    self.mouse_exited.connect(
        func():
            print("mouse_exited")
            Input.set_default_cursor_shape(Input.CURSOR_ARROW)
    )

カーソル変わらず。

printは実行されてるのでシグナルの設定は問題ない。

いろいろいじっててなんとかなったんだけども、わざわざコードで設定する必要はなくて、エディターで

Control->Mouse->Default Cursor Shape

を設定するだけで良かったという。

カーソルが変わった!

そして、ホバーしてカーソルの形を変えたいだけならButtonじゃなくてControlでもよい。ただし、その場合はクリックの処理はgui_inputを使う感じ。

まとめ(感想文)

エディター上の設定でコードの変更が上書きされてたんだと思われ。