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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.11.2008, 16:15
dream'r вне форума Посмотреть профиль Отправить личное сообщение для dream'r Посетить домашнюю страницу dream'r Найти все сообщения от dream'r
  № 1  
Ответить с цитированием
dream'r

Регистрация: Nov 2000
Адрес: russia, moscow
Сообщений: 21
Отправить сообщение для dream'r с помощью ICQ
По умолчанию скроллер xml текста и мышь

Здравствуйте. У меня есть текст, читаемый из xml. бегунок если двигать то текст прокручивается нормально. если колесом - текст движется, а бегунок нет.
Код AS1/AS2:
function scrollInit(tt, ts) {
//	ts.bar._y = tt._y;
	if (tt.maxscroll>1) {//if no need, hide scrolling
		ts.scrollarea = ts._height-ts.uparrow._height-ts.dnarrow._height;
		ts.bar._height = ts.scrollarea-((tt.maxscroll-1)*10);
		ts.rel = (ts.scrollarea-ts.bar._height)/(tt.maxscroll-1);
		ts.bar._y = ts.rel*tt.scroll+ts.uparrow._height-ts.rel;
		ts._visible = true;
		//buttons scrolling
		ts.dnarrow.onPress = function() {
			ts.onEnterFrame = function() {
				if (tt.scroll<tt.maxscroll) {
					tt.scroll++;
					ts.bar._y = ts.rel*tt.scroll+ts.uparrow._height-ts.rel;
				}
			};
		};
//////////////////////////
ts.bar.originY = ts.bar._y;
ts.bar.originX = ts.bar._x;
ts.bar.maxY = ts.bar._height-ts.bar._height+ts.bar.originY-1;
tt.originY = tt._y;
//////////////////
ts.dnarrow.onRelease = ts.dnarrow.onReleaseOutside = function () {
		delete ts.onEnterFrame;
		};
		ts.uparrow.onPress = function() {
			ts.onEnterFrame = function() {
				if (tt.scroll>1) {
					tt.scroll--;
					ts.bar._y = ts.rel*tt.scroll+ts.uparrow._height-ts.rel;
				}
			};
		};
		ts.uparrow.onRelease = ts.uparrow.onReleaseOutside = function () {
			delete ts.onEnterFrame;
		};
		//bar scrolling
		ts.bar.onPress = function() {
			startDrag(ts.bar, false, 0, ts.uparrow._height, 0, ts.scrollarea+ts.uparrow._height-this._height+1);
			ts.bar.draging = true;
		};
ts.bar.onRelease = ts.bar.onReleaseOutside = function () {
			ts.bar.stopDrag();
			ts.bar.draging = false;
		};
ts.bar.onMouseMove = function() {
			if (ts.bar.draging) {
				tt.scroll = (ts.bar._y-ts.uparrow._height+ts.rel)/ts.rel;
			}
		};
ts.bar.onMouseWheel = function() {
			if (ts.bar.draging) {
				tt.scroll = (ts.bar._y-ts.uparrow._height+ts.rel)/ts.rel;
			}
		};
	} else {
		ts._visible = false;
	}
}
// WHEEL MOUSE LISTENER
//
var mouseListener:Object = new Object(this);
mouseListener.onMouseWheel = function(wheelNum:Number) {
	if (ts.bar._y>=ts.bar.originY) {
		ts.bar._y -= (wheelNum/scrollRatio)*8;
		if (ts.bar._y<ts.bar.originY) {
			ts.bar._y = ts.bar.originY;
		} else if (ts.bar._y>ts.bar.originY+ts.bot._height-ts.bar._height) {
			ts.bar._y = ts.bar.originY+ts.bot._height-ts.bar._height;
		}
	}
	if (ts.bar._y>ts.bar.maxY) {
		ts.bar._y = ts.bar.maxY;
	}
};
Mouse.addListener(mouseListener);
// SCROLL BAR SCRIPT
onEnterFrame = function () {
	scrollRatio = (tt._height-200)/ts.bot._height;
	if (scrollRatio>1) {
		// Show scroll bar
		ts.bar._visible = true;
		ratio = ((tt._height-200)-ts.bot._height)/(ts.bot._height-ts.bar._height);
		destScroll = ((-ts.bar._y+tt.originY)*ratio)+tt.originY;
		tt._y += Math.ceil((destScroll-tt._y)/4);
	} else {
		// Hide scroll bar
		ts.bar._visible = false;
	}
};
stop();
срабатывание вызывается вот так
Код AS1/AS2:
this.scrollInit(opisanie.o_text.opisanie_txt,this.opisanie.myScroll);
----
подскажите пожалуйста как мне сделать чтобы прокручивая колесом мыши текст, двигался и бегунок...
__________________
весь хлеб свежий

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

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
tt.onScroller

Старый 20.11.2008, 18:21
dream'r вне форума Посмотреть профиль Отправить личное сообщение для dream'r Посетить домашнюю страницу dream'r Найти все сообщения от dream'r
  № 3  
Ответить с цитированием
dream'r

Регистрация: Nov 2000
Адрес: russia, moscow
Сообщений: 21
Отправить сообщение для dream'r с помощью ICQ
Цитата:
Сообщение от Mnilionic Посмотреть сообщение
tt.onScroller
я не очень понял к чему это... ;(
__________________
весь хлеб свежий

Старый 20.11.2008, 18:37
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
http://flasher.ru/forum/showthread.php?t=111891
Впрочем, если этот код Вы сами написали, то Вам хватит и этого: http://www.flasher.ru/forum/showpost...48&postcount=6
Удачи
__________________
Reality.getBounds(this);

Старый 20.11.2008, 19:17
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 5  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
dream'r, у вас видимо сделана зависимость скролинга текста от положения бегунка.
теперь нужно сделать оратную зависимость - полжение пегунка от скролинга текста.

событие onScroller вызывается всякий раз как в поле меняется одно из значений скролинга текста. По этому собитию передвигайте ваш ползунок на нужное значение.

например если вы в поле будите выделать текст мышкой (ткнёте мышкой в начале текста и потяните вниз за границу поля, то текст будет скролится за мышкой) ползунок будет в правильном положении

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

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

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


 


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


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