mmag

ハマったことメモなど

button_downとbutton_upとpressedシグナルの違い

GodotのBaseButtonのシグナルに

  • button_down
  • button_up
  • pressed

がある。雰囲気でbutton_downシグナルを使っていたんだけど、pressedって何だ?と思ったので調査。

pressedActionModeの値によって投げられるタイミングが変わって

  • ACTION_MODE_BUTTON_PRESSなら押したとき
  • ACTION_MODE_BUTTON_RELEASEなら離したとき

デフォルトはACTION_MODE_BUTTON_RELEASEなので、pressedbutton_upは同じタイミングで発せられる。ACTION_MODE_BUTTON_PRESSに変えるとbutton_downと同じになる。同じゲーム内で判定基準が異なるのは混乱の元なので、統一されてればいいんじゃねっていう雑な感想もありつつ、離したときに「押した」と判定されるものが世の中に多いように感じるので、pressedbutton_upを使おうと思う。