Ссылка на текстовое поле по имени экземпляра класса - PullRequest
0 голосов
/ 18 июня 2011

Мне нужно заполнить текстовое поле tField (определено на сцене), которое находится внутри ParentClass (MovieClip с тем же именем класса). Я хочу иметь возможность установить tField.text на то, что я хочу от AnotherClass. Как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 18 июня 2011

Использовать getChildByName .Сначала вы создаете TextField в классе.

import flash.display.TextField;

var tField:TextField = new TextField();
tField.name = "tField";

stage.addChild(tField);

Обратите внимание, что вам нужно установить имя.В другом классе вы можете использовать:

var tField:TextField = stage.getChildByName("tField");
trace(tField.name); // tField
0 голосов
/ 18 июня 2011

Изменен ответ на полные инструкции, потому что у автора, вероятно, отсутствует ключевой шаг в графическом интерфейсе Flash.

  1. Откройте Adobe Flash CS5 (может работать и для CS4.)
  2. Файл, Новый, Actionscript 3.0.
  3. Нажмите на текстовый инструмент. Нарисуйте текстовое поле.
  4. Нажмите TextField, в окне «Свойства» выберите «Ввести текст» в раскрывающемся списке.
  5. С выбранным TextField в окне «Свойства» установите для имени экземпляра значение «tField» без кавычек.
  6. Нажмите на сцену. В окне «Свойства» установите для текстового поля «Класс:» значение «Основной» без кавычек.
  7. Файл, Сохранить как, "Test.fla" без кавычек.
  8. Файл, новый, класс Actionscript 3.0.
  9. Вставьте следующее в новый файл AS:

    пакет {

    import flash.display.MovieClip;
    import flash.events.FullScreenEvent;
    import flash.events.MouseEvent;
    import flash.events.Event;
    
    public class Main extends MovieClip 
    {
        public function Main()
        {
            var another:Another = new Another(this.tField);
        }
    }
    

    }

  10. Файл, Сохранить как, "Main.as" без кавычек, В ОДНОМ ИСТОЧНИКЕ КАК ШАГ 3.

  11. Файл, новый, класс Actionscript 3.0.
  12. Вставьте следующий код в новый файл .as (я не могу заставить StackOverflow правильно отобразить это. Просто вставьте его как есть):

    пакет { import flash.text.TextField; общественный класс Другой { публичная функция Другой (textField: TextField) { textField.text = "Hello"; } } }

  13. Файл, Сохранить как, "Another.as" без кавычек, в ЖЕ СПРАВОЧНИК КАК ШАГ 3.

  14. Нажмите Ctrl-Enter.

Все, что рисует TextField на сцене и устанавливает его имя экземпляра, это тайно добавляет строки кода:

public var tField:TextField = new TextField();
tField.type = "input";

С любым классом, с которым связана сцена (в данном случае с классом Main.) Если вам нужна дополнительная помощь, я бы порекомендовал получить хорошую книгу по программированию на AS3 и Flash IDE, потому что ответ далеко не исчерпан. область простого ответа StackOverflow.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...