Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Обращение к текстовому полю (http://www.flasher.ru/forum/showthread.php?t=184909)

XimiKDeniS 29.09.2012 20:14

Обращение к текстовому полю
 
Доброго времени суток. Только начинаю работать с классами, так что если вдруг дурак, покажите в чем) Пытался сделать некоторую кнопку с текстом внутри (element-класс кнопки, elementName созданное внутри текстовое поле). Получилось такое:
Код AS3:

package  {
 
        import flash.display.MovieClip;
        import flash.display.DisplayObject;
 
 
        public class Main extends MovieClip {
                public function addElement (elemName:String)
                {
                var element:Element = new Element ();
                WorkList.addChild (element).name=elemName;
                trace (element.elementName="jkk");
                }
        }
}

Эта штука выводит ошибку, что типа я привожу элемент TextField к String, когда я пишу trace (element.elementName.text="jkk") выводит, что я обращаюсь к свойству объекта null, а когда trace (element.elementName) выводит null (что как бы быть не может ибо он понимает, что elementName-TextField)

Вопрос впринципе в том, как мне изменить текст elementName'а.
Заранее спасибо.

TWETTI 29.09.2012 20:41

Метод addChild в вашем примере возвращает экземпляр класса Element. Вы пытаетесь присвоить свойству name значение elemName. Свойство name - символьная переменная, а elemName это текстовое поле класса TextField. Поэтому и получается, что вы приводите TextField к String.

Чтобы изменить текст elementName'а надо написать следующее:
Код AS3:

var element:Element = new Element();
element.elemName.text = "Ваш текст";
addChild(element)


XimiKDeniS 29.09.2012 21:07

т е просто так после addChild (element) изменить текст txtField'а нельзя?

TWETTI 29.09.2012 21:08

Можно.
Код AS3:

(WorkList.addChild(element) as Element).elementName.text = "Ваш текст";

Теперь работает?

XimiKDeniS 29.09.2012 21:10

Нет, пишет:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект null.
at Main/addElement()

TWETTI 29.09.2012 21:16

Загрузите исходник. Так я быстрее вам помогу.

XimiKDeniS 29.09.2012 21:19

Вложений: 1
описанное находится в классе ChooseList

TWETTI 29.09.2012 21:24

Сохраните под Flash CS5.5.

XimiKDeniS 29.09.2012 21:28

Вложений: 1
Поменял

TWETTI 29.09.2012 21:37

Не запускается в Flash CS5.5. ошибки:
Код:

VerifyError: Error #1079: В загруженных кодах собственные методы не разрешены .
ReferenceError: Error #1065: Переменная Main__Preloader__ не определена.
ReferenceError: Error #1065: Переменная Main__LoadingAnimation__ не определена.



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

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