Я нахожусь немного над моей головой здесь с ООП в ActionScript. У меня есть класс Display, который захватывает видео поток. Я пытаюсь создать набор основных кнопок остановки / записи для управления камерой. Очевидно, я не могу объявить функции, которые обращаются к this
или к любым переменным, которые позволили бы мне идентифицировать и остановить клип. Компилятор (я использую Haxe) выдает ошибку:
video/Webcam.hx:96: characters 10-14 : Cannot access this from a static function
Возможно, я подхожу к этому неправильно. Вот некоторый (сокращенный) код:
class Webcam extends Display {
var nc : flash.net.NetConnection;
...
private function addControls(){
var stopIcon = new StopIcon();
var b = new flash.display.MovieClip();
b.addChild(stopIcon);
b.useHandCursor = true;
b.addEventListener(flash.events.MouseEvent.CLICK,function() {
trace(this);
this.stopStream()
});
b.x = 210;
b.y = 20;
}
...
}
Я использую Haxe для компиляции в AS3. Здесь есть список дельт http://haxe.org/doc/flash/as2_compare, которые, кажется, не охватывают эту проблему, поэтому я считаю, что это проблема, с которой я столкнулся в AS. Возможно, это связано с компилятором, но я надеюсь, что нет, потому что мне действительно очень понравился Haxe.
Как создать элементы пользовательского интерфейса, связанные с экземпляром объекта, если компилятор actionscript обрабатывает эти функции как статические?