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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 08.11.2006, 10:52
o-mega вне форума Посмотреть профиль Найти все сообщения от o-mega
  № 1  
Ответить с цитированием
o-mega
Banned

Регистрация: Jun 2005
Сообщений: 68
Flame Помогите разобраться: изменение AS для символа

Народ, срочно нужна помощь! В AS я не силен, скажу сразу...

Пытался разобраться с тем, как делать скроллы для текстового поля. Набрел в сети на вот такой вот урок _h**p://www.flashteacher.ru/tutorials/scrolling/index.shtml . Принцип описанный там, прост:
создается поле, рисуются скроллы (потом их называют up, down и scrollbar в инстанс-нейм), все это загоняется в символ (contairnerMC), который потом выставляется в сцену. Текста берется из текстовика. Довольно просто...

Только вот у меня проблема заключается в том, что мой этот созданный символ contairnerMC находится тоже в символе. Код в примере предусматривает использование onClipEvent (а ведь использовать его можно лишь в сцене)

Вот непосредственно код:

Код:
onClipEvent (load){
this.loadVariables("text.txt");

scrolling = 0;
frameCounter = 1;
speedFactor = 3;
numLines = 7;
origHeight = scrollbar._height;
origX = scrollbar._x;
needInit = false;

function initScrollbar(){
var totalLines = numLines + daTextBox.maxscroll - 1;
scrollbar._yscale = 100*(numLines)/totalLines;
deltaHeight = origHeight - scrollbar._height;
lineHeight = deltaHeight/(daTextBox.maxScroll - 1);
}

function updateScrollBarPos(){
scrollbar._y = lineHeight*(daTextBox.scroll - 1);
}

}

onClipEvent (enterFrame){
if( needInit ){
if(daTextBox.maxscroll > 1){
initScrollbar();
needInit = false;
}

}

if( frameCounter % speedFactor == 0){

if( scrolling == "up" && daTextBox.scroll > 1){
daTextBox.scroll--;
updateScrollBarPos();
}

else if( scrolling == "down" && daTextBox.scroll < daTextBox.maxscroll){
daTextBox.scroll++;
updateScrollBarPos();
}
frameCounter = 0;
}
frameCounter++;
}

onClipEvent (mouseDown){ 

if(up.hitTest(_root._xmouse,_root._ymouse)){
scrolling = "up";
frameCounter = speedFactor;
up.gotoAndStop(2);
}

if(down.hitTest(_root._xmouse,_root._ymouse)){
scrolling = "down";
frameCounter = speedFactor;
down.gotoAndStop(2);
}

if(scrollbar.hitTest(_root._xmouse,_root._ymouse)){
scrollbar.startDrag(0,origX,deltaHeight,origX);
scrolling = "scrollbar";
}

updateAfterEvent();

}

onClipEvent (mouseUp){
scrolling = 0;
up.gotoAndStop(1);
down.gotoAndStop(1);
stopDrag();
updateAfterEvent();
}

onClipEvent (mouseMove){
if(scrolling == "scrollbar"){
daTextBox.scroll = Math.round((scrollbar._y)/lineHeight + 1);
}

updateAfterEvent();

}

onClipEvent (data){
needInit = true;
}
Можно ли заменить этот onClipEvent на что-нибудь другое?! Или как сделать так, чтобы это все работало в символе и остался этот onClipEvent?! Потому как более половины переменных отказываются работать без нее...


Последний раз редактировалось iNils; 08.11.2006 в 13:55.
Создать новую тему   Часовой пояс GMT +4, время: 01:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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