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

zelik 07.03.2009 22:45

фон текстового поля
 
Добрый вечер!

Недавно на форуме подсказали, как сделать "бегущую строку".
Чтобы организовать появление текста в начале поля, в текстовом файле вписывается нужное кол-во любых символов (например, "_") с цветом фона текстового поля.
Все работает отлично (nOobCrafter еще раз спасибо!).
Одна загвоздка, мне нужно поместить "бегущую строку" на рисунок. Сразу становятся видны вспомогательные символы...

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

Код AS1/AS2:

В первом кадре гл. временной шкалы код:
//
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>


KiL33 08.03.2009 08:07

Об этом речь идёт что ли..
text_mc.pole_txt.border = true;
если да, то замените на..
text_mc.pole_txt.border = false;

zelik 08.03.2009 08:28

да нет, не об этом...
border - это границы текстового поля. Я же говорю об наполнении текстового поля, background.

KiL33 08.03.2009 09:59

Вам фон на текстФилде нужно убрать?
Если да, то я написал верно.

Добавлено через 1 час 18 минут
а..верно, border границы поля..че эт я..не проснулся ещё наверное:boredom::mosking:
Вопрос правдо совсем не понял, чё там с background вам надо сделать..
И реализация честно говоря не ахти, я от nOobCrafter большего ожидал :):)

zelik 08.03.2009 13:37

Вложений: 1
Смотри. Я вложил пример. Если просматриваешь в Adobe Flash, то видны подчерки, которык грузятся из файла. А если смотришь в плеере, то виден белый фон... А мне надо, чтобы не было ни фона, ни подчерков...

Может можешь предложить какой-то алтернативный подход к "бегущей строке"?

KiL33 08.03.2009 15:18

Вложений: 1
Можно попробовать так. Вариант тоже плохой, так как я использовал анимацию..
Если тебе не подойдет этот вариант, я найду время и переделаю нормально..пока что времени нет:))

zelik 08.03.2009 17:05

Спасибо. Такой вариант не совсем подходит. Мне нужна возможность регулирования скорости. В "бегущую строку" грузятся разные тексты, а на твоем примере что-то не работает.
В любом случае спасибо!!!
Будет время, пиши! Буду ждать.

KiL33 08.03.2009 18:15

Всё оказалось крайне просто..и не заняло особо времени..поэтому вот..

Код AS1/AS2:

//Загрузили в messageURL какой-то txt
messageURL = "text.txt";
//Длина маски
yscale = 190;
//Скорость "бегущей строчки"
speedLine = 5;
 
var container:MovieClip = this.createEmptyMovieClip("text_mc", 1);
var container2:MovieClip = container.createEmptyMovieClip("maska_mc", 2);
container2.beginFill(0xFF0000);
container2.moveTo(10,10);
container2.lineTo(yscale,10);
container2.lineTo(yscale,35);
container2.lineTo(10,35);
container2.lineTo(10,10);
container2.endFill();
text_mc.setMask(container2);
var pole_txt:TextField = container.createTextField("pole_txt", 0, 180, 10, 180, 25);
pole_txt.autoSize = true;
pole_txt.html = true;
pole_txt.selectable = false;
pole_txt.border = true;
pole_txt.textColor = 0x000000;
var myVars:LoadVars = new LoadVars();
myVars.onLoad = function() {
        pole_txt.text = myVars["TextField"];
        var_num = "-"+pole_txt._width;
        go();
};
myVars.load(messageURL);
function go():Void {
        container.onEnterFrame = function() {
                if (pole_txt._x>var_num) {
                        pole_txt._x -= speedLine;
                } else {
                        pole_txt._x = 180;
                }
        };
}
//Ура!

Спешл фор ю:)

P.S. Предыдущий мой вариант сожги в корзине..и не вспоминай про него:cool::mosking:

zelik 08.03.2009 18:53

Круто!
Работает как надо!
Огромное спасибо!
P.S. в pole_txt (для удобства) подправь привязку к yscale

KiL33 08.03.2009 19:06

Забыл про координаты

Вот так будет ещё чуть лучше:)

Код AS1/AS2:

//Загрузили в messageURL какой-то txt
messageURL = "text.txt";
//Длина маски
yscale = 180;
//Скорость "бегущей строчки"
speedLine = 5;
//Позиция бегущей строки по _x
xpos=0
//Позиция бегущей строки по _y
ypos=0
 
 
var container:MovieClip = this.createEmptyMovieClip("text_mc", 1);
var container2:MovieClip = container.createEmptyMovieClip("maska_mc", 2);
container2.beginFill(0xFF0000);
container2.moveTo(10,10);
container2.lineTo(yscale,10);
container2.lineTo(yscale,30);
container2.lineTo(10,30);
container2.lineTo(10,10);
container2.endFill();
container2._x=xpos
container2._y=ypos
text_mc.setMask(container2);
var pole_txt:TextField = container.createTextField("pole_txt", xpos, yscale, ypos+10, 180, 25);
pole_txt.backgroundColor = 0xFF0000;
pole_txt.autoSize = true;
pole_txt.html = true;
pole_txt.selectable = false;
pole_txt.border = true;
pole_txt.textColor = 0x000000;
var myVars:LoadVars = new LoadVars();
myVars.onLoad = function() {
        pole_txt.text = myVars["TextField"];
        var_num = "-"+pole_txt._width;
        go();
};
myVars.load(messageURL);
function go():Void {
        container.onEnterFrame = function() {
                if (pole_txt._x>var_num) {
                        pole_txt._x -= speedLine;
                } else {
                        pole_txt._x = yscale;
                }
        };
}

Цитата:

P.S. в pole_txt (для удобства) подправь привязку к yscale
Не понял, что подправить?:)


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

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