Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Плавная бегущая строка (http://www.flasher.ru/forum/showthread.php?t=122218)

zelik 04.03.2009 23:31

Плавная бегущая строка
 
Всем привет!

Вот уже несколько дней пытаюсь сделать "бегущую строчку", в которую грузиться текст из файл.
По адресу:
http://metoart.ru/blog/2006/02/12/au...ja_stroka.html
есть пример:

Код AS1/AS2:

// 2006 © Designer's testing area
// http://www.metoart.ru/blog
//
function buildText(m, c) {
        m._x -= 1;
        if (m._x<0-m._width/2) {
                m._x = 450+c*7;
        }
}
var loadNews:LoadVars = new LoadVars();
loadNews.load("news.dat");
loadNews.onLoad = function() {
        var newsArr:String = loadNews.n;
        var words:Array = newsArr.split("");
        for (i=1; i<words.length; i++) {
                attachMovie("mc", "mc"+i, i);
                _root["mc"+i].txt = words[i];
                _root["mc"+i]._x = i*7;
                _root["mc"+i]._y = 27;
                sc = setInterval(buildText, 20, _root["mc"+i], words.length);
        }
};

Не могу понять что за параметры m, c в функцие buildText(m, c)?
Может кто знает, как все-таки сделать одинаковые интервалы между буквами?
И еще. Мне нужно зациклить текст. Я поместил вышеупомянутый код в один кадр, а из следующего кадра (по условию выхода ха экран последнего символа) вызываю опять этот код. При этом начинается ускорение у буквы налетают друг на друга.

Заранее огромное спасибо!!!

iNils 04.03.2009 23:56

Для оформления своего кода надо использовать теги [code][/code]

zelik 05.03.2009 01:00

ОК! Учту! Спасибо!
А что по поводу моих вопросов? Что думаешь? Можешь что-то предложить?

aksios 05.03.2009 06:25

Читай хелп
Код AS1/AS2:

setInterval(functionReference:Function, interval:Number, [param1:Object, param2, ..., paramN]) : Number

- Есть функция, которая пока ее не вызовут, просто декларация.
Есть ее вызов с передачей ей двух параметров, которые в ней оговорены, поскольку вписаны в скобки после имени функции.
В данном случае это:
Код AS1/AS2:

m=_root["mc"+i], c=words.length


nOobCrafter 05.03.2009 12:01

Вот пример:
Код:

Эффект бегущей строки.

Запускаем Flash.
Сохраняем.
В первом кадре гл. временной шкалы код:
//
System.useCodepage = true;
var texturl = "text.txt";
this.createEmptyMovieClip("text_mc", 1);
text_mc.createTextField("pole_txt", 0, 10, 10, 80, 25);
text_mc.pole_txt.variable = "TextField";
text_mc.pole_txt.html = true;
text_mc.pole_txt.selectable = false;
text_mc.pole_txt.border = true;
text_mc.pole_txt.textColor = 0x000000;
loadVariables(texturl, "text_mc");
function rText():Void {
if (text_mc.pole_txt.hscroll<text_mc.pole_txt.maxhscroll) {
text_mc.pole_txt.hscroll += 5;
} else {
text_mc.pole_txt.hscroll = 0;
}
}
setInterval(rText, 80); //*-
//
C Flash'ем закончили.
Создаем файл text.txt и сохраняем там же, где сохранили наш *.fla
В текстовом файле следующий код/текст:
TextField=<FONT COLOR="#FFFFFF">_________________</FONT>Demiart - Photoshop Форум - лучший форум о
Photoshop в RUнете!!!<FONT COLOR="#FFFFFF">_________________</FONT>

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

Готово. Нажимаем CTRL+Enter и смотрим или публикуем и смотри.


zelik 05.03.2009 18:00

Всем огромное спасибо!

nOobCrafter, ты можешь подсказать, как изменить шрифт загружаемого текста и его размер?

Добавлено через 15 минут
nOobCrafter, извини, уже разобрался

Добавлено через 6 часов 1 минуту
А ты не знаешь, как сделать подчеркивания невидимыми, и то у меня строчка бежит по фону (картинке)???

BAtic 28.04.2009 14:43

А как это перенести в AS3?

nOobCrafter 29.04.2009 11:14

BAtic ручками переписать учитывая синтаксис ас3


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

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