Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.07.2010, 01:01
Kuzzz вне форума Посмотреть профиль Отправить личное сообщение для Kuzzz Найти все сообщения от Kuzzz
  № 1  
Ответить с цитированием
Kuzzz

Регистрация: Jul 2010
Сообщений: 2
По умолчанию Ошибка с движением мувиклипа с помощью setInterval

Хочу сделать плавную прокрутку мувиклипа. Написал вот такой чудо-скрипт:

Код AS1/AS2:
right_pics_Holder._y=50;
 
Mouse_listener.onMouseUp = function() {
	if (Button_Down.hitTest(mouseImitator)) {
		var i:Number = 0;
		Button_Down_Pressed = function() {
			right_pics_Holder._y -= 11.2;
			i++;
			if (i==5) {
				clearInterval(myInterval);
			}
		}
		myInterval = setInterval (Button_Down_Pressed, 100);
	}
	if (Button_Up.hitTest(mouseImitator) && right_pics_Holder._y<50){
		right_pics_Holder._y += 56;
		trace (right_pics_Holder._y);
	}
}
По клику "вниз" - мувик плавно перемещается вверх. По клику "вверх" - мувик моментально перемещается вниз. Трейсер показывает позицую нашего мувика.

Всё бы хорошо, только если нажимать: "вниз, "вверх", "вниз, "вверх", "вниз, "вверх",... в трейсере будет такая информация:

Код:
50
50.05
50.1
Я где-то ошибся? Или это нормальное поведение АС? Как с таким бороться?"

Старый 11.07.2010, 04:07
rainbowrussia вне форума Посмотреть профиль Отправить личное сообщение для rainbowrussia Найти все сообщения от rainbowrussia
  № 2  
Ответить с цитированием
rainbowrussia
 
Аватар для rainbowrussia

Регистрация: Feb 2008
Сообщений: 560
Скорее всего так ведет себя AS, а именно в строке
Код:
right_pics_Holder._y -= 11.2
Заведите отдельные переменные для хранения текущего положения клипов, увеличивайте/уменьшайте их, и делайте
Код:
right_pics_Holder._y = rpHy;
где "rpHy" и есть переменная, хранящая положение клипа.

Старый 11.07.2010, 05:24
Kuzzz вне форума Посмотреть профиль Отправить личное сообщение для Kuzzz Найти все сообщения от Kuzzz
  № 3  
Ответить с цитированием
Kuzzz

Регистрация: Jul 2010
Сообщений: 2
Спасибо за совет.
Я изменил интервал, и сделал шаг целым числом. "0.05" пропало.

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:02.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:02.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.