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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 27.02.2011, 10:32
Dalass13 вне форума Посмотреть профиль Отправить личное сообщение для Dalass13 Найти все сообщения от Dalass13
  № 3  
Ответить с цитированием
Dalass13
 
Аватар для Dalass13

Регистрация: Oct 2010
Адрес: Свердловск
Сообщений: 77
Наваял по-быстрому

Код подействует при условиях:

- нужно 2 панорамы которые находятся друг к другу впритык;
- "шов" этих двух панорам должен быть по центру MovieClip, в котором находится
- высота панорамы == высоте кадра;

код в кадр:

Код AS1/AS2:
panorama.onPress = function() {
	startDrag(this);
};
 
 
panorama.onRelease = function() {
	panorama._y = _root._height/2; // панорама всегда центрирована по вертикали
	stopDrag();
};
 
panorama.onReleaseOutside = panorama.onRelease;
 
this.onEnterFrame = function() {
	panorama._y = _root._height/2;
           //если панорама достигает предела с правой стороны...
	if (panorama._x<-panorama._width/2+_root.width ) {
		panorama._x = _root._width; // ...ставим ее центр (шов) в конец координаты х
	}
           //если панорама достигает предела с левой стороны...
	if (panorama._x>panorama._width/2) {
		panorama._x = 0; // ... ставим ее центр (шов) в начало координаты х
	}
};
проблема кода - можно на 1 долю секунды перетащить панораму по _у, но с этим разобраться грамотно не было времени, может кто подхватит

Есть конечно вариант без скроллинга с помощью нажатия и перетаскивания, но просили именно с перетаскиванием, но вот, на всякий случай:

Код AS1/AS2:
this.onEnterFrame = function() {
         // у меня ширина кадра 500
         // если мышь находится в правой стороне экрана...
	if (_xmouse>250) {
		panorama._x -= (_xmouse -250)/15; // ...скроллим панораму вправо
	}
        // если мышь находится в левой стороне экрана...
	if (_xmouse<250) {
		panorama._x += (250 -_xmouse)/15;// ...скроллим панораму влево
	}
	//если панорама достигает предела с правой стороны...
	if (panorama._x<-panorama._width/2+_root.width ) {
		panorama._x = _root._width; // ...ставим ее центр (шов) в конец координаты х
	}
        //если панорама достигает предела с левой стороны...
	if (panorama._x>panorama._width/2) {
		panorama._x = 0; // ... ставим ее центр (шов) в начало координаты х
	}
};


Последний раз редактировалось Dalass13; 27.02.2011 в 11:05.
Создать новую тему   Часовой пояс GMT +4, время: 10:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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