yes you are on the right track...
I would use an invisible sprite object field radius that is pinned to the players pos..
Then detect overlap with ground objects with the 'field' or 'zone' and raise the objects when they are overlapping.
or you could just use
System --> for each (ground Object) or use 'families'
System --> compare two values -->distance (player x,y, ground object x,y) is less than or equal to (your preferred distance)
action --> raise ground object
and of course copy paste all that and invert the events
if you follow me
hope that helps somewhat
happy to look over events if you get stuck