This would make the character shrink as it moves up the screen. Adjust values as needed.
This is a rather large question. Here are some pointers to get you started:
Area2Ds with CollisionPolygon2D shapes. Drawing them out will/can be the tedious part. It really depends how you’re doing your level design. You can use groups and connect all their signals with a single script in the common parent:
func _ready():
for area in get_tree().get_nodes_in_group("clickable_areas"):
area.connect("input_event", self, "_on_area_clicked", [area])
func _on_area_clicked(event, area):
if event is InputEventMouseButton and event.pressed:
print("clicked on area", area.name)
You can also use mouse_entered and mouse_exited to make clickable areas glow/flash/etc. as needed.
Hopefully that helps you get started. The details will depend on your particular implementation.
Thank you very much. Everything is so simple … but I myself would not have thought of it =)