From what I understand of the rule, it's to prevent someone from making objects move in the background?
That's the correct reason, yup.
Weltschmerz had some very light point and click elements in it and was made in Ren'Py, and those screens are assembled using Imagebuttons:
transform explore_size: zoom 0.78 xoffset -1941 yoffset -110 transform explore_zeke: xoffset -950 yoffset -100 zoom 0.78 transform train_effect: parallel: linear 0.7 xoffset 2 linear 0.7 xoffset -2 repeat parallel: linear 0.7 yoffset 2 linear 0.7 yoffset -2 repeat screen explore_1(): imagebutton idle "mg" action Call("anywhere_1") at explore_size, train_effect imagebutton idle "fg" action Call("anywhere_1") at explore_size, train_effect imagebutton idle "door_p" action Call("door_check_1") focus_mask True at explore_size, train_effect imagebutton idle "zeke side" action Jump("proceed_1") focus_mask True at explore_zeke, train_effect
screen explore_2(): imagebutton idle "mg" action Call("anywhere_2") at explore_size, train_effect imagebutton idle "fg" action Call("anywhere_2") at explore_size, train_effect imagebutton idle "door_p" action Call("door_check_2") focus_mask True at explore_size, train_effect imagebutton idle "zeke side" action Jump("proceed_2") focus_mask True at explore_zeke, train_effect
If you're using a different engine, then you can use whichever method is easiest for you. Good luck!