![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2000
Адрес: Finland, Kuopio
Сообщений: 79
|
Привет всем,
Пожалуйста помогите мне справиться со следующей задачей: У меня есть файл, состоящий из одного кадра. Внем находятся клипы с кнопками, их id имеют цифровые значения. В главный timeline грузятся переменные с теми же id. Я хочу написать функцию которая бы звалась из кнопок в клипах. Эта функция должна создать текстовое поле в клипе и загрузить текст из значения переменной, пользуясь id клипа для определения id переменной. Написанная мной функция не работает - она делает текстовое поле в главном таймлайне и не загружает значение переменной. Привожу код: stop();
var va37 = "test";
function showCaption() {
this.createTextField("mytext", 0, 10, 100, 120, 20);
mytext.multiline = true;
mytext.wordWrap = true;
mytext.border = true;
mytext.background = true;
mytext.variable = "";
myformat = new TextFormat();
myformat.color = 0xff0000;
myformat.bullet = false;
myformat.underline = false;
mytext.text = _root.va+(getProperty(this, _name));
mytext.setTextFormat(myformat);
}
|
|
|||||
|
Цитата:
mytext.text = eval("_root.va"+this. _name); Во-вторых - трабл с путями. trace(this); попробуй. Насколько мне известно - либо передавай рутовой функции ссылку на вызвавшего, либо саму функцию посели в клипы (что правильнее, потому что больше она никому не нужна). Assuming: внутри клипа Хотя... убей - не пойму, зачем id хранить прям в имени кнопки.
__________________
Flash - борщ китайскими палочками. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
Цитата:
functionName.apply (thisReference, [parameter1, parameter2.....]); functionName - имя функции thisReference - ссыла на объект, к которому ее применяем [parameter1, parameter2.....] - массив параметров функции внутри самой функции везде пишем 'this' в качестве обращения к объекту |
|
|||||
|
Регистрация: Jun 2000
Адрес: Finland, Kuopio
Сообщений: 79
|
Интересно, где мы это пишем? Еще вопрос - как написать функцию, чтобы задать autoSize для текст фиелд (я подозреваю, что это не работает для createTextField)
|
|
|||||
|
Регистрация: Jun 2000
Адрес: Finland, Kuopio
Сообщений: 79
|
Вот мое нынешнее состояние, работает прекрасно, хотя очень сильно подозреваю, что можно поизящнее... одна беда- autoSize не работает, когда попытался вставить текстовое поле вместо того, чтобы криэйт, чтобы потом форматировать как аutosize, это не работает...
function showCaption(mc) {
mc.createTextField("mytext", 0, 0, 0, 100, 20);
with (mc.mytext) {
multiline = true;
wordWrap = true;
border = true;
background = true;
autoSize = "left";
backgroundColor = 0xFFFFCC;
borderColor = 0x990000;
selectable = "false";
}
var myformat = new TextFormat();
with (myformat) {
color = 0x990000;
font = "_sans";
size ="15";
}
mc.mytext.text = _root[mc._name+"_va"];
mc.mytext.autoSize = "left";
mc.mytext.setTextFormat(myformat);
trace(mc);
}
|
|
|||||
|
to NoxNoctis:
Эмм... Это, как я понял, макромедийцы сделали макрос на тему Цитата:
__________________
Flash - борщ китайскими палочками. Последний раз редактировалось Parafly; 25.04.2002 в 13:29. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
2Parafly
наверно так и есть... просто зачем городить огород, когда все уже украдено до нас ? ;))) Последний раз редактировалось Nox Noctis; 25.04.2002 в 14:44. |
![]() |
Часовой пояс GMT +4, время: 02:04. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|