У автора пошаговое движение, не плавное, onEnterFrame тут не годится.
Детали все мне тоже не ясны, но должно быть что-то вроде этого:

Код AS1/AS2:
var timeStep:Number = 1000; //1 сек.
var count:Number = 0; //счетчик шагов
var stepQuantity:Number = 0; //количество шагов
var moveStarted:Boolean = false ; //признак того, что движение стартовало
start_btn.onRelease = function () {
stepQuantity = Number(input_tf.text); //из текствого поля берется количество шагов
moveId = setInterval(moveIt, timeStep); //запусается движение, выполняющееся периодически с интервалом timeStep
}
function moveIt () {
var allowMove:Boolean = count <= stepQuantity && !isNaN(stepQuantity) && !moveStarted;
//проверка того, что:
// - счетчик не достиг конца
// - в поле было введено именно число, т.е. Number(input_tf.text) не даст NaN
// - движение уже не было начато
if (allowMove) {
moveStarted = true ;
//само движение
}
else {
clearInterval (moveId);
count = 0;
stepQuantity = 0;
moveStarted = false ;
}
}
Промежуточные кнопки типа направления и само движение тут не отражены, отражена только организация периодичности выполнения и легитимного старта движения.