PDA

Просмотр полной версии : Загрузка из .txt с прелоадером и скроллингом


>>t!ntom<<
15.04.2004, 18:32
Товарищи, помогите :eek:
Никак не получается сделать текстовое поле со скроллингом, чтобы в него грузились разные текстовые файлы (3) и при этом работал прелоадер (ну типа надписи loading text)...
Заранее извиняюсь если тема уже была...

_zhloba
16.04.2004, 11:06
Ну примерно так

// создаем текстовое поле
mc.createTextField("main_text", depth, x, y, width, height);
// устанавливаем всякие свойства - фон, border
// форматирование текста и прочее -
// см доки по TextField class и TextFormat class

// загружаем данные
data=new LoadVars();
data.onLoad=function(success){
if(success){ mc.main_text.text=data.text; }
else{ mc.main_text.text="Can`t load text"; }
}
data.load("textfile01.txt");

На всякий случай, хотя ты, конечно, это знаешь,
файл "textfile01.txt" выглядит примерно так:

text=Very long text need to load

А если он содержит кирилицу то должен быть сохранен в
формате UTF-8

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

Кратко - используется таскаемый ползунок:
mc_toggle.onPress=function() {
mc_toggle.startDrag(true,0,10,0,300);
}
его положение (mc_toggle._y)
относительно диапазона, в котором он перетаскивается
высчитывается в процентах, и соотносится в пределами
прокрутки тескта (mc.main_text.text.scroll, mc.main_text.text.maxscroll).
Реализовано и обратное - при прокрутке текста стрелочками
с клавиатуры или с кнопок прокрутки (есть у меня и такие)
меняется положение ползунка.

Код частями описан в разных мувиклипах, поэтому, хотя
мое решение прекрасно работает, сам код нельзя считать
оптимальным и легко переносимым в другое приложение

Короче - используй имеющийся компонент scrollBar
сам я документацию не читал, так что подсказать не могу.

_zhloba
16.04.2004, 11:09
Совсем забыл про прелоадер
Добавим еще строку

// загружаем данные
data=new LoadVars();
data.onLoad=function(success){
if(success){ mc.main_text.text=data.text; }
else{ mc.main_text.text="Can`t load text"; }
}
data.load("textfile01.txt");
mc.main_text.text="Loading data...";

Думаю, большого смысла делать "загружено 54%" нет,
так так текстовый файл (врядли ты будешь загружать больше
5 - 10 кБ) загрузится быстро

>>t!ntom<<
18.04.2004, 11:00
Не очень понял что значит
mc.createTextField("main_text", depth, x, y, width, height);... стыдно, но скорее всего я чайник...
сделать скроллинг у меня получилось, но когда пытаюсь загрузить в него разные текстовые файлы с помощью кнопок, либо грузится один и тот же, либо вообще ничего не происходит...
с прелоадером тоже пАртаки какие-то...
вот скидываю исходник, может быть кто нибудь поймёт в чём дело.
Заранее спасибо.

silin
18.04.2004, 15:04
вот глянь, может чего прояснится

>>t!ntom<<
20.04.2004, 19:00
Спасибо... файл сохранён в 6ой версии?
//ушёл в поисках своего диска Flash 6.0

>>t!ntom<<
21.04.2004, 06:54
А можно ли реализовать нечто похожее в 5 ой версии? :(

silin
21.04.2004, 12:15
вот так например для 5-ой пройдет
on (release) {
text="Loading...";
loadVariablesNum("1.txt",0);
}
в файле: text= блабла,
тока есть ли смысл на 5-ую заморачиваться

>>t!ntom<<
22.04.2004, 08:40
дело в том что сайт я делаю в 5ой версии
А переделывать всё в 6ую нет необходимости из-за соображений встроеной IE поддержки 5го плагина
Оч благодарен, спасибо :)