PDA

Просмотр полной версии : Пожалуйста, помогите с автоматической прокруткой... Тону..:(


Эль
13.11.2002, 17:57
Как с помощью Action Script сделать автоматическую прокрутку текста, который лоадиться из текстового файла? Не нажимая никаких кнопок, прямо сразу, чтобы он плавно появлялся снизу и двигался вверх до самого конца. Не могу никак сообразить как это сделать. Помогите, пожалуйста...

Nox Noctis
13.11.2002, 19:22
скролл можно сделать
либо протаскивая текстовое поле под маской (шрифт должен быть подключен)
либо пользуясь стандартным свойством скролл.

в первом случае -
грузим текст,
дожидаемся окончания его загрузки (гебайтслоадед, ондата, или любым другим способом =) )
подставляем в текстовое поле и просто тащим по вертикали.
проблема может возникнуть только с тем, что в пятерке поле само не растянется под величину текста и будет не выяснить какой на самом деле высоты в этом поле текст... в МХ такой проблемы нет - есть свойства TextField.autoSize и TextField.textHeight

во втором случае -
грузим текст,
дожидаемся окончания его загрузки
начинаем скроллить, увеличивая значение свойства scroll.
если нужно чтобы текст полностью "уехал" наверх, то делаем как в первом варианте еще и маску и когда scroll==maxscroll начинаем двигать вверх сам клип с полем.

в МХ это можно сделать просто создав функцию онЕнтерФрейм для какого-нить клипа...
в пятерке - заготавливаем клип с событием вроде
onClipEvent (enterFrame) {
action()
}
и после окончания загрузки пишем
clip.action = function () {
// действия по прокрутке поля наверх
}

вопросы ? :)

Эль
14.11.2002, 10:33
Огромное спасибо за ответ! Но у меня не получается так сделать... В прикрепленном файле я попыталась..., может ты взглянешь..
Очень хочеться понять почему не работает и как сделать чтобы работало... :confused:

DeliMIter
14.11.2002, 12:13
Нокс Ноктис - спаситель вида female flasher!

Nox Noctis
15.11.2002, 06:21
эмм... я не очень понял что именно должно получиться (особенно что там со скроллбаром такое)
окошко чата вижу, но при чем тут такое движение текста...
чтобы он плавно появлялся снизу и двигался вверх до самого конца если делать в соответствии с этой фразой - то это может выглядеть примерно так... =) см. файлик...
не думаю что это сильно поможет - но по крайней мере основная идея с разбиением на функции понятна, наверное...

функции скроллбара я просто убрал, потому что не понимаю как он должен работать с двигающимся постоянно текстом...


да, а к чему там эмблема макОС ? =))
и еще тестовый текст чата просто супер =) умиляет до слез =)

Эль
15.11.2002, 10:27
Спасибо за помощь, но у меня при запуске файла возникают такие ошибки:
Scene=Scene 1, Layer=scroller, Frame=1: Line 17: Unexpected ':' encountered
// две функции движения:

Scene=Scene 1, Layer=scroller, Frame=1: Line 19: Statement must appear within onClipEvent handler
moveClip = function () {

Scene=Scene 1, Layer=scroller, Frame=1: Line 26: ';' expected
// вторая - собсно скролл
--
Первую и третью я еще могу понять, а вот со второй проблема... :confused:

Max N Chubin_
15.11.2002, 12:11
2 Эль: Первую и третью я еще могу понять, а вот со второй проблема...

:D :D :D
интересно, какая версия флэшки у тебя?
с точностью до (+\-) полбита можно предположить, что не такая взрослая как у Nox-a.

а впрочем, какая разница?
Это всё Nox виноват!
как сказал боцман - "Какой зюйд-Зюйд-Вест??? Ты не умничай, ты пальцем покажи!!!"

Эль
15.11.2002, 12:20
У меня 5.. А что тогда делать? :(

Max N Chubin_
15.11.2002, 13:02
думаю что теперь NOX как настоящий мужчина, должен довести все до победного конца!
:D :D :D

DeliMIter
15.11.2002, 13:38
И сгореть в драконовом пламени Пятиголового Флэша :D :D

Эль
21.11.2002, 13:25
Ок, у меня получилось открыть и посмотреть. Спасибо, Nox. Но еще один маленький вопросик: а как сделать чтобы, когда текст кончается, то все начинается сначала? т.е. как сделать loop?

Nox Noctis
21.11.2002, 17:56
привет =)

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

я его кстати и делал-то под пятерку - только в МХ :) писал в МХ а сохранял и паблишил как 5...
и из-за этого совсем забыл что нельзя писать букву 'я' в комментариях :D :D вот лехасс-то обрадуется если увидит :p

чтобы сделать луп нужно всего лишь добавить один вызов функции launch...
см. аттач.