Много разных способов, конечно, в зависимости от деталей вашего приложения. (И глобальные переменные по определению не являются «злыми» - на самом деле во Flash они могут быть весьма полезны.) Один из подходов заключается в определении общедоступного статического метода, который можно вызывать из любого места в вашем коде, и это определяется как отдельный класс, например:
package
{
public class MyCustomLogger
{
public function MyCustomLogger()
{
//
}
public static function log(text:String):void
{
trace(text);
}
}
}
Определенный таким образом, вы можете вызывать функцию журнала с помощью нотации ClassName.staticFunctionName из любого места в вашем приложении:
[some code...]
MyCustomLogger.log("My log text.")
[some more code...]
Такой подход довольно распространен. Оттуда это может стать более сложным, в зависимости от ваших потребностей; ваше сообщение указывает, что вы хотите записать строку в объект TextField, и в этом случае статическая функция журнала потребует либо ссылку на этот объект TextField при его вызове, либо собственный статический путь доступа к экземпляру TextField, как определено в другом месте вашего приложения. , В этом случае я мог бы предложить определить глобальную переменную экземпляра, в конструктор которой вы могли бы передать ссылку на цель TextField (и записать в нее с помощью своей функции журнала), или различные другие подходы - снова, в зависимости от ваших конкретных потребностей. Но в целях иллюстрации использование общедоступного статического метода является одним из достаточно стандартных подходов, которые вы могли бы рассмотреть.