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

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

Вложений: 1
Лови!!!

Techmaker 15.07.2006 17:17

Вложений: 1
Цитата:

Сообщение от LadyShack
Лови!!!

поймал =)

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

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

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

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


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

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