ho fatto una prova veloce e quindi non ti assicuro sia il metodo migliore ma...

sullo stage ci sono il "mc" e dei bottoni (bt_1, bt_2 ecc...)
ad ogni bottone associo questo codice:
codice:
on(press){
	bottone = "bt_1";
	_root.muoviMc()
}
ovviamente cambia il valore della variabile bottone in base al bottone in cui riporto il codice.

in root metto:
codice:
function muoviMc(){
	_root.mc.onEnterFrame = function(){
	if(_root.mc._x < _root[bottone]._x - 10){
				_root.mc._x += 5
	}
	if(_root.mc._x > _root[bottone]._x - 10){
			_root.mc._x -= 5
	}if(_root.mc._x == _root[bottone]._x - 10){
		delete _root.mc.onEnterFrame
	}
}
}
spero vada bene