Показать сообщение отдельно
Старый 09.12.2009, 18:15
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 3  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
У автора пошаговое движение, не плавное, 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 ;
	}
}
Промежуточные кнопки типа направления и само движение тут не отражены, отражена только организация периодичности выполнения и легитимного старта движения.


Последний раз редактировалось mooncar; 09.12.2009 в 18:30.