|
|
|||||
Регистрация: May 2014
Сообщений: 26
|
Передача объекта
Возник такой вопрос:
Есть 2 класса совмещенных в 1 пакете. Первый: package chat { import flash.display.Sprite; import flash.events.Event; import flash.text.TextField; class Test1 extends Sprite{ var a:TextField = new TextField(); public function Test1() { } } } package chat { class Test2{ public function Test1() { } function qwerty():void { a.text = "123"; } } } Что я делаю не так? Последний раз редактировалось Void; 09.08.2014 в 19:03. |
|
|||||
[+1 22.07.14]
[+4 12.08.14] [+1 09.02.15] Регистрация: May 2014
Сообщений: 182
|
Если не писать модификатор доступа, то по умолчанию будет internal, который доступен только внутри пакета.
Вообще не указывать модификаторы, это грубо для as3 и лучше научиться разбираться в них сразу. Добавлено через 2 минуты И то ли конструктор у Вас неправильно назван, то ли метод с большой буквы. |
|
|||||
Регистрация: Jul 2014
Сообщений: 6
|
Вы не определили экземпляр класса TextField, к которому обращаетесь.
Добавлено через 10 минут package chat { import flash.display.Sprite; import flash.events.Event; import flash.text.TextField; /** * ... * */ public class Main extends Sprite { private var textField:TextField; public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); this.textField = new TextField(); this.addChild(this.textField); const TEXT_TWO:Text2 = new Text2(); TEXT_TWO.qwerty(this.textField); } } } Последний раз редактировалось PedroHallo; 09.08.2014 в 20:06. |
|
|||||
Регистрация: May 2014
Сообщений: 26
|
Спасибо что ответили, а как сделать так:
Есть два класса в одном пакете. В одном классе создается текстовое поле с именем txt, как к этому полю обратиться из 2-го класса? |
|
|||||
Регистрация: Jun 2008
Сообщений: 126
|
Цитата:
|
|
|||||
Регистрация: Aug 2014
Сообщений: 5
|
Цитата:
Цитата:
Добавлено через 1 минуту Цитата:
Вам нужно определить статическую переменную — переменную класса, к которой можно обращаться только через класс, где определенна эта статическая переменная. Чтобы определить статическую переменную Вам следует написать перед словом var слово static, и так как Вы хотите обращаться к статической переменной только в том пакете, где она находится, то Вам следует написать перед словом static модификатор управления доступом internal — обращение внутри класса, в классах, находящихся в том же пакете, что и этот, и через потомков класса. Чтобы обратиться к статической переменной Вам следует написать перед идентификатором статической переменной (её названием) название класса, в котором она определена. Последний раз редактировалось Моше Дауге; 10.08.2014 в 23:42. |
Часовой пояс GMT +4, время: 14:01. |
|
« Предыдущая тема | Следующая тема » |
|
|