PDA

Просмотр полной версии : Доступ к textarea с разных классов.


havendv
14.06.2012, 14:59
Собственно, как можно изменять элементы интерфейса(например textarea) из класса X пакета файла X.as, когда главным является класс main из main.as.
Испробовал разные способы, textarea не видно.

DaFive
14.06.2012, 15:12
Как и откуда обращались к textarea?

havendv
14.06.2012, 15:22
Из методов класса Х.
main.as

package
{
import flash.display.MovieClip;

public class main extends MovieClip
{
var myinfo:info=new info();
public function main()
{

}
}
}

info.as

package
{
import flash.display.MovieClip;
import fl.controls.TextInput;
import fl.controls.Button;

public class info extends main
{
public function info()
{

}
public function showinfo(info:String)
{
button_bg.visible = true;
}
}
}

Имеется обьект Button с именем button_bg. В данном примере выдается ошибка о недопустимых данных.

Чего не хватает и как обойтись без наследования класса main?

DaFive
14.06.2012, 16:57
А зачем вообще наследовать класс main в данном случае? У вас получается, что main содержит info, а info наследуется от main, который уже содержит info.

havendv
14.06.2012, 18:09
Так, понял, почему этот код при компиляции ошибок не выдавал. Наследование main глупость. Не понял, как обращаться к элементам интерфейса из класса info.

Общий доступ в свойствах элементов результата не дает. Возможно я просто не умею к ним обратиться

havendv
18.06.2012, 08:56
Подскажите хотя бы, каким образом они становятся видимыми в главном классе?

garymar
18.06.2012, 18:09
package Game
{
import flash.display.Sprite;

/**
* ...
* @author Garymar (Igor Molchanov)
*/
public class GUI_Main extends Sprite
{
public static var _txtArea:TextArea = new TextArea();

public function GUI_Main()
{
_txtArea.text = "Текст который нужно вызвать в другом классе";
}

}

}

package
{
import flash.display.Sprite;
import Game.GUI_Main;

/**
* ...
* @author Garymar (Igor Molchanov)
*/
public class inText extends Sprite
{
public function inText ()
{
trace(GUI_Main._txtArea.text);
}

}

}

Можешь так же в любой класс, из Main класса, передавать stage, таким образом у тебя будет доступ к любому объекту сцены через stage.

havendv
19.06.2012, 10:28
В итоге, просто из главного класса передаю обьект this. Насколько это плохо?)

Psycho Tiger
19.06.2012, 10:32
Хорошо и лучше, чем пример выше.