PDA

Просмотр полной версии : как определить функцию в символе?


LadyShack
14.07.2006, 19:06
Добрый день.
У меня есть символ, который лежит на сцене. Символ представляет собой кнопку и текстовое поле рядышком. Вот если я из сцены начинаю манипулировать текстовым полем

btnAnswer1.txtChBox.text = 'rjydklf kfjkjdf jfdkdf kdf kfjh kd lkjg lkdf jgh';
btnAnswer1.txtChBox._width = 300;
btnAnswer1.txtChBox._y -= 100;
где btnAnswer1 - символ, txtChBox - текстовое поле в сиволе
все нормально работает.
Но мне бы хотелось, что бы символ умел себя настраивать по тому значению, которое ему передадут
Я пытаюсь в символе сделать функцию

SetText = function (Text1) {
txtChBox.autoSize = true;
txtChBox.text = Text1;
}
и вызвать из сцены эту функцию, но ничего не передается и вызова не происходит.
Подскажите, пжл, как такое реализовать.

Techmaker
14.07.2006, 19:13
в муве btnAnswer1:
setText = function (text1) {
txtChBox.autoSize = true;
txtChBox.text = text1;
}
в руте:
btnAnswer1.setText("my text")

LadyShack
14.07.2006, 19:18
Я так же делаю, ничего не вызывается

Techmaker
14.07.2006, 19:20
не верю :)
попробуй тогда так:

в муве btnAnswer1:a=function(txt){trace(txt);}
в руте: btnAnswer1.a("проверка =)");

LadyShack
14.07.2006, 19:30
Не все так просто :umnik2: Не работает.

Techmaker
14.07.2006, 21:34
ну тогда исходник на бочку

LadyShack
15.07.2006, 00:47
Все бы хорошо, только у меня архив весит 200 К, что превышает отведенный лимит.

Techmaker
15.07.2006, 15:36
оптимизируй файл или сделай подобный неработающий пример :)

LadyShack
15.07.2006, 16:32
Лови!!!

Techmaker
15.07.2006, 17:17
Лови!!!
поймал =)

всё дело в работе конструктора кода,
флэш как бы запускает написанный код сначало в руте,
потом в мувах на руте.

т.е. сначало происходит запуск
клип.a()
а потом только создаётся функция клип.a=function(){};

если сделать задержку в кадр, функция уже создастся и мы сможем её запустить (посмотри исправленый файл).

ЕЩЁ: я сделал пример2, в нём пример того как можно ещё поступасть в таком случае, и даже логически так будет правильнее.

LadyShack
15.07.2006, 17:37
У меня пошли проблемы с распаковыванием, ошибку выдает. Можно отправить исправленный вариант без архивирования на адрес (нету больше адреса :))

Techmaker
15.07.2006, 23:19
отправил в rar и отправил в zip

советую срочно убрать email либо убрать знаки @ и точку, потому что ваш email поподёт в какой нибудь спам лист!

LadyShack
15.07.2006, 23:44
Ну это не совсем то, что требуется. Потому как мне динамически нужно создавать N-ое количество таких сиволов, для каждого передать свой текст. Именно поэтому хочется, чтобы эта функция была сразу в символе прописана. А так мне для каждого экземпларя делать настройку этой функции. А если и другие функции понадобятся? По-моему с точки зрения программирования логично описать объект, его поведение, а потом просто вызывать нужный метод.

LadyShack
15.07.2006, 23:46
Вобщем, пока возмущалась, придумала как его обмануть.

Techmaker
16.07.2006, 00:08
Вобщем, пока возмущалась, придумала как его обмануть.
молодец :p респект! :p