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

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

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

Регистрация: Feb 2011
Сообщений: 27
По умолчанию Помогите переделать код прокрутки

Вообщем дали такой код

Код AS1/AS2:
onClipEvent(load)
{
this.isDrag = false;
_root.mainmoved = false;
}onClipEvent(enterFrame)
{
if (this.isDrag == true) 
{
this.TargY = getProperty("", _ymouse);
oldy = this._y;
this._y = this._y + (this.TargY - this.OffsetY - this._y) * 0.2;
this.vy = this._y - oldy;
}
else 
{
if (this.isDrag == false) 
{
this._y = this._y + Math.round(this.vy);
this.vy = this.vy * 0.9;
}
}
if (this._y > 60) 
{
this._y = 50;
this.vy = this.vy * -0.05;
}
if (this._y < -666) 
{
this._y = -690;
this.vy = this.vy * -0.05;
}
}onClipEvent(mouseDown)
{
blockpress = false;
if (_root.mainmoved == false) 
{
posisi0 = this._y;
slide = false;
this.TargY = getProperty("", _ymouse);
this.OffsetY = getProperty("", _ymouse) - this._y;
this.isDrag = true;
}
}onClipEvent(mouseUp)
{
posisi1 = this._y;
FLCmd("Set", "MainMenu", "AUI", "menu", "1", "1");
this.isDrag = false;
if (posisi0 < posisi1 - 20 || posisi0 > posisi1 + 20) 
{
blockpress = true;
}
slide = true;
}
Он позволяет плавно передвигать мышью мувик по вертикали.
Я не очень хорошо разбираюст в AC, пробовал разные варианты - не получилось.

Подскажите какую строку изменить, чтобы инвертировать прокрутку. То бишь чтобы движение было ни вверх, а вниз и наоборот.

И еще - какая строка отвечает за скорость пролистывания? то есть, к примеру, когда проводишь по экрану на растояние 4 сантиметра можно было настроить чтобы мувик двигался либо на большее растояние, либо на меньшее.
Заранее спасибо!


Последний раз редактировалось iNils; 16.02.2011 в 14:40.
Старый 15.02.2011, 01:54
RandomUser вне форума Посмотреть профиль Отправить личное сообщение для RandomUser Найти все сообщения от RandomUser
  № 2  
Ответить с цитированием
RandomUser

Регистрация: Mar 2006
Адрес: Odessa
Сообщений: 157
Убрал все, на мой взгляд, лишнее и вот, что вышло:
Код AS1/AS2:
onClipEvent(load)
{
	this.isDrag = false;
}
 
onClipEvent(enterFrame)
{
	if (this.isDrag == true)
	{
		oldy = this._y;
		dy = (_parent._ymouse - this.OffsetY) * 3.0; // 3.0 - масштаб скорости пролистывания... Чем больше, тем быстрее.
		this._y = this._y + (this.posY - this._y - dy) * 0.2; // если dy прибовлять то прокрутка инвертируется...
		this.vy = this._y - oldy;
	}
	else
	{
		if (this.isDrag == false)
		{
			this._y = this._y + Math.round(this.vy);
			this.vy = this.vy * 0.9;
		}
	}
 
	if (this._y > 60)
	{
		this._y = 50;
		this.vy = this.vy * -0.05;
	}
 
	if (this._y < -666)
	{
		this._y = -656;
		this.vy = this.vy * -0.05;
	}
}
 
onClipEvent(mouseDown)
{
	this.OffsetY = _parent._ymouse;
	this.posY = this._y;
	this.isDrag = true;
}
 
onClipEvent(mouseUp)
{
	this.isDrag = false;
}
Только никому не говори, что это я написал, а то некоторые могут расстрелять за код в кадрах и тем более на мувиках...
__________________
Не всех война убила - многих покалечила

Старый 16.02.2011, 00:01
JOKER_MAX вне форума Посмотреть профиль Отправить личное сообщение для JOKER_MAX Найти все сообщения от JOKER_MAX
  № 3  
Ответить с цитированием
JOKER_MAX

Регистрация: Feb 2011
Сообщений: 27
Спасибо большое, работает на ура и лучше чем прежний.

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

Теги
2.0 , actionscript , движение , код , прокрутка
Опции темы
Опции просмотра

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

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


 


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


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