Форум 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=111815)

unlex 08.05.2008 20:29

плавная бегущая строка
 
Вложений: 1
Знаю, таких тем много, но ни в одной не нашел подходящее решение.
Необходима банальная, циклическая бегущая строка. То есть, как только строка уходит влево полностью, тут же начинает появляться справа.
Использую следующий код:
Код:

t_str = "      Some text";
 changeStr = function() {
      t_str = t_str.substr(1) + t_str.substr(0,1);
      d_txt1.text = t_str;
 }
 setInterval(changeStr,150);

Строка бежит, но рывками. Что необходимо сделать, чтобы она бежала с постоянной скоростью? Заранее спасибо...
Прилагаю ролик с тем, что у меня получилось.

Mnilionic 08.05.2008 21:13

ширина символов в шрифте разная - отсюда и "рывки"

Vektor 08.05.2008 21:58

t_str = " Some text";
this.mcText.setMask(mcMask);
var f:Number = -1;
var G:Number = mcText.mcText1._x+mcText.mcText1._width;
changeStr = function () {
mcText.mcText1.d_txt1 = t_str;
mcText.mcText2.d_txt1 = t_str;
//Клип .mcText2 ставить в конце .mcText1;
mcText.mcText1._x += f;
mcText.mcText2._x += f;
if (mcText.mcText1._x+mcText.mcText1._width<0) {
mcText.mcText1._x = G;
}
if (mcText.mcText2._x+mcText.mcText2._width<0) {
mcText.mcText2._x = G;
}
};
setInterval(changeStr,10);

Vektor 08.05.2008 22:11

t_str.substr(1) + t_str.substr(0,1);

Сдвигает символы на ширену символа.

unlex 08.05.2008 22:45

Спасибо! Ага, я тоже догадался о причине рывков и решил реализовать с помощью маски и интерполяции движения.
Пробовал Ваш способ, но не получилось, так как не совсем понял следующее: mcText1, mcText2 - это мувики из полей динамического текста? Что тогда mcText и что в чем размещать? ) Недавно только начал работать с Флэш, так что не все элементарные вещи еще сразу понимю...

Mnilionic 08.05.2008 22:53

mcText - это маска, под которой ползают mcText1, mcText2 :)

unlex 08.05.2008 23:17

mcText создается программно? создал mcText1 и mcText2 и поместил на главный слой туда же где код. не работает... знаю что накосячил, а вот где? )

Vektor 08.05.2008 23:19

mcText.mcText1

mcText -это основной клип, mcText1 && mcText2- это вложеные клипы, а в них находяться техтовые поля.
В properties техтового поля есть поле Var: (d_txt1 //вставь имя)

mc - MovieClip (венгерская нотация)

Vektor 08.05.2008 23:33

mcMask - это маска

unlex 08.05.2008 23:33

Так мне нужно создать мувик mcText? Затем в него поместить 2 текстовых поля, задать им в vars d_txt1 и затем сделать из них мувики? Если так, то из чего делать муви mcText и где именно размещать код?


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

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