PDA

Просмотр полной версии : Флеш - автоскролинг подгружаемого динамического текста


Bacrilio
11.05.2007, 19:56
Здравствуйте, форумчане!

Никто не подскажет как сделать во Флеш автоскролинг текста, в однострочном поле, который загружается из файла. Интересуют два возможных варианта: 1 - через какие то промежутки времени строка меняется на следующую, и так по циклу 1 ->2 -> ... n -> 1
2. Собственно вариант при котором текст медленно ползет справа налево причем постоянно, без обрыва перед началом текста.

Спасибо !

DarkLight
11.05.2007, 20:03
по пункту 1: загнать все строчки в массив и менять текст поля по setInterval
по пункту 2: в Поиск по слову "бегущая строка"

Bacrilio
12.05.2007, 00:59
по пункту 1: загнать все строчки в массив и менять текст поля по setInterval
по пункту 2: в Поиск по слову "бегущая строка"

В форуме, а конкретней <a href="http://www.flasher.ru/forum/showthread.php?t=77259&page=2&highlight=%E1%E5%E3%F3%F9%E0%FF+%F1%F2%F0%EE%EA%E0"> тут </a> нашел интересный вариант, но не могу заставить его работать с подгружаемыми данными, и сменить стиль текста... Не поможешь ?
Исходный код такой


_root._x = _root._y = 3;
////
//str = "1234567890 abcdefghijklmnoABCDEFGHIJKLMN ";
//// создаем маску
this.createEmptyMovieClip ("mcMaska", 0);
this.mcMaska.beginFill (0, 0);
this.mcMaska.lineTo (800, 0);
this.mcMaska.lineTo (100, 25);
this.mcMaska.lineTo (0, 25);
this.mcMaska.lineTo (0, 0);
this.mcMaska.endFill ();
//// создаем бегущую строку
this.createEmptyMovieClip ("mcText", 1);
this.mcText.createTextField ("txt1", 0, 0, 0, 100, 20);
this.mcText.createTextField ("txt2", 1, 0, 0, 100, 20);

loadVariables('var.txt',txt1);
loadVariables('var.txt',txt2);

this.mcText.txt1.autoSize = this.mcText.txt2.autoSize = true;

//this.mcText.txt1.text = this.mcText.txt2.text = str;

var ff:TextFormat = new TextFormat(); // Создаем новый стиль для текста
ff.font="Arial"; ff.size=20; ff.color = 0xFF9900;

this.mcText.txt1.setTextFormat(ff);
this.mcText.txt2.setTextFormat(ff);
this.mcText.txt2._x = this.mcText.txt1._width;
this.mcText.setMask (this.mcMaska);
//// бежим
this.mcText.moveText = function () {
this._x -= 2;
if (this._x < -this.txt1._width) {
this._x += this.txt1._width;
}
updateAfterEvent ();
};
setInterval(this.mcText, "moveText", 5);