You could do this with either the Control nodes using buttons as you suggested or you could use the TouchScreenButton
2D node. You'll need sprites for your controls if you use TouchScreenButton
. For quick prototyping, I'd recommend using Control buttons, since you can edit their appearance much more easily.
Both options do use signals. such as button_down()
, button_up()
, and pressed()
. If you need a tutorial to help you, there are several on YouTube, such as this one.