Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Текст на кнопках (http://www.flasher.ru/forum/showthread.php?t=156235)

zxcv 18.05.2011 17:42

Текст на кнопках
 
Очередной, видимо, нехитрый вопрос )
Создаю класс кнопки Key (я так понимаю, он наследуется от SimpleButton?) с отрисованными состояниями Up, Down & Over, прогоняю ролик - все работает, кнопка нажимается. Далее пытаюсь добавить на кнопку текст с помощью TextField. Итого у меня есть мувиклип KeyBackground и текстовое поле txt на нем, запакованные в кнопку Key. вроде все ОК. Теперь кидаю несколько кнопок на stage и пытаюсь каждой присвоить свой текст, но при изменении текста в одной из них текст в других автоматически меняется на такой же - почему?? это же разные инстансы одного класса Key, разве нет? Такая же фигня с базовыми кнопками. Кто-нибудь может мне подсказать как быть с кнопками? ))

Nemez 18.05.2011 18:08

Или помещать в библиотеку необходимое число мувиклипов с разными надписями, KeyBackground1, KeyBackground2 и т.д, или в коде
Код AS3:

keyBackground1.textField.text = "text1";
keyBackground2.textField.text = "text2";
...


zxcv 18.05.2011 18:17

и до того и до того я, в принципе, догадался... но как-то это... неправильно штоли? почему один инстанс влияет на другой?
и как быть с готовыми кнопками в таком случае? как программно добраться до текста? есть какое-то общее правило, типа btn.text = "text" или у каждой кнопки по-своему?

alatar 18.05.2011 18:48

Судя по-всему, вы это проделываете во Flash IDE и пытаетесь редактировать кнопки, просто сделав двойной клик по ним. Соответственно, редактируете вы не инстансы, а базовый компонент.

zxcv 18.05.2011 18:57

агаа... т.е. кроме как программно их отредактировать никак нельзя? и как все же программно отредактировать стандартные кнопки?

alatar 18.05.2011 19:00

Стандартные, это какие? Button из пакета fl? Ну так про них все в справке написано.

zxcv 18.05.2011 19:05

эмм... "стандартные" - это те, што лежат по адресу "Окно-Общие библиотеки-Кнопки" в CS5

Добавлено через 17 часов 41 минуту
аааа... я што-то совсем запутался... вроде программно до самодельных кнопок достучаться получалось, потом што-то изменил в них - в результате при попытке обратиться к тексту
Код AS3:

trace(myButton.txt.text)

, где myButton - собственно, кнопка, txt - TextField в ней, пишет, што txt - null... почему?? я уже замучал эту кнопку по-всякому ))
И насчет стандартных кнопок... нашел я тот самый Button из пакета fl - не совсем то, што хотелось, но хоть бы так штоли... можно ли менять размер шрифта, сам шрифт и т.п. в такой кнопке?

Добавлено через 18 часов 3 минуты
ога, я понял: это связано было связано с добавлением состояний кнопки (Up, Down, Over, Hit). Не понял только почему и как быть? )

missbraun86 19.05.2011 18:00

да, я че-то тоже с кнопками не поняла ниче... как самой сделать кнопку???

zxcv 23.05.2011 15:22

В общем создаем кнопку, редактируем ее состояния (Up, Down, Over, Hit) и после эти состояния доступны нам:
Код AS3:

trace(myButton.upState);

Доступ же к элементам кнопки можно получить след образом:
Код AS3:

trace(Sprite(myButton.upState).getChildAt(1));

В моем случае под индексом 1 в кнопке хранится как раз TextField.
Такая же фигня с уже готовыми кнопками.

alatar 23.05.2011 15:33

Цитата:

Такая же фигня с уже готовыми кнопками.
zxcv, ну неужели было так трудно заглянуть в документацию, убедиться, что у "стандартной" ("готовой") кнопки, есть свойство label, что бы задать текст. А если уж очень хочется добраться до его TextField, то есть возможность воспользоваться свойством textField, а не дергать детей, в надежде попасть на нужный.


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

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