PDA

Просмотр полной версии : добавить компонент run-time


dacino
10.11.2006, 15:28
как run-time создать компонент Label и в нем разместить какой-нибудь текст

Dendroid
10.11.2006, 15:43
_root.attachMovie("Label","label",1,{_x:100, _y:100, _width:100, text:"bla, bla, bla..."});Не забудь добавить Labal в библиотеку...

iNils
10.11.2006, 15:49
Dendroid, тебе особое напоминание нужно про ?

Dendroid
10.11.2006, 16:13
Да я для одной строчки никогда не использую. По-моему так читаемость только теряется:
А разрывы я и сам внутрь вставляю ;)

iNils
10.11.2006, 16:15
Если у тебя кроме это строчки другого текста нет, то можешь не использовать.

dacino
10.11.2006, 17:09
спасибочки за ответ...
тогда ще один вопрос, немного посложнее
как сделать так, чтоб у этого свежесозданного label 'a было событие "Click" если в AS это реализуемо
---
и если не жалко дайте чего-нибудь почитать про объекты во Flash(Label,button и т.д.), и где монать посмотреть их исходный код или они все в dll?
dacino@mail.ru

dacino
10.11.2006, 17:22
или проще - как должен выглядеть класс - потомок Label с событием "Click"
и как потом создать экземпляр этого класса в нужном мне кадре
->уж простите за корявость вопроса

Dendroid
10.11.2006, 17:30
Нужно просто добавить ему событие "Click", на что угодно, хоть на onFocus :)
Исходники стандартных компонент все открыты (в dll вообще не бывает, бывает разве что в скомпилированном swf или swc), в зависимости от версии исходник находится в библиотеке, или в папке componentFLA, или в папке Configuration\Classes.

dacino
10.11.2006, 18:32
наверно не так выразился, мне надо, чтоб при нажатии левой клавиши мыши(onClick) над этим label вызывалась какая нибудь функция, чтоб это было и label и button

Dendroid
10.11.2006, 19:44
Тогда просто "label.onRelease = function () {};"
Это же экземпляр мувиклипа, поэтому всегда можно добавить ему мувиклипные обработчики.

dacino
11.11.2006, 00:50
все енто конечно гуд, но хотелось бы посмотреть на енто с точки зрения классов, поскольку - количество таким образом создаваемых лабелов неизвестно - юзер жмакает на кнопочку: лабелы создаются, и еще у этого лабела должно быть свойство, если по нему клацнуть, то на его месте должен появиться textinput соотв с текстом этого лабела
чтоб суть дела была понятна то что у меня в первом кадре получилось с вашей помощью:
stop();
edit.visible=false;
function edcoord(){
edit.visible=true;
edit.text=lab.text;
lab.visible=false;
edit._x=lab._x; edit._y=lab._y;
}
function rev(){
edit.visible=false;
lab.visible=true;
lab.text=edit.text;
}
function edtolab(){
_root.attachMovie("Label","lab",1,{_x:100, _y:100, _width:edit._width, text:""});
edcoord();
lab.onRelease = edcoord;
}
edit.addEventListener("focusOut", rev);
but.addEventListener("click", edtolab);
- а вот когда таких lab много и один должен следовать за другим?
народ, подскажите как хотябы примерно должен выглядеть такой класс иль ето реализуемо и без них
заранее спасиб

Хемуль
11.11.2006, 03:16
Ну, я для вас написал пример, но столкнулся с одной проблемой - метки не удаляются, когда над ними появляется поле ввода. Поскольку с методом, удаляющим компоненты не работал, решил спросить у знающих людей в отдельной теме: http://flasher.ru/forum/showthread.php?t=87774
После того, как ответ будет дан, думаю, сможете в той теме получить готовое решение.