![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Oct 2005
Адрес: Russia, Irkutsk
Сообщений: 742
|
Есть два класса. в первом (ControlManager) создается экземпляр второго(VideoManager), потом по нажатию кнопки из первого посылается событие во второй(соответственно второй предварительно подписывается на это событие). Во втором есть обработчик события, но он не видит своего класса вообще.
ControlManager: import mx.events.EventDispatcher;
import mx.utils.Delegate;
import main.VideoManager;
class main.ControlManager extends MovieClip
{
public var playStatus:Boolean = false; // true - is play
private var play_b:MovieClip;
private var vm:VideoManager;
public var addEventListener:Function;
public var removeEventListener:Function;
public var dispatchEvent:Function;
public function ControlManager()
{
play_b = this["pl"];
EventDispatcher.initialize(this);
vm = new VideoManager(this);
}
private function onLoad():Void
{
play_b.onRelease = Delegate.create(this, playHandler);
}
private function playHandler():Void
{
trace("Play/stop нажали");
playStatus ? play_b.gotoAndStop("play") : play_b.gotoAndStop("pause");
playstatus = !playStatus;
}
public function set playstatus(p:Boolean):Void
{
playStatus=p;
dispatchEvent({type:"onPlay",target:this});
}
}
import mx.events.EventDispatcher;
class main.VideoManager
{
private var obj:Object;
public function VideoManager(o:Object)
{
obj=o;
configureListeners();
}
private function configureListeners():Void
{
obj.addEventListener("onPlay", playHandler);
}
private function playHandler(o:Object):Void {o.target.playStatus ? startVideo() : pauseVideo();}
private function startVideo():Void
{
trace("startVideo");
}
private function pauseVideo():Void
{
trace("pauseVideo");
}
}
__________________
smival.com |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
В сеттере косяк какой-то. Никогда не используй одинаковые имена, но с разным регистром.
|
|
|||||
|
Регистрация: Oct 2005
Адрес: Russia, Irkutsk
Сообщений: 742
|
хорошо. поправил
вопрос это конечно не решило.
__________________
smival.com |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
Регистрация: Oct 2005
Адрес: Russia, Irkutsk
Сообщений: 742
|
заработало.
ох уж эта видимость. но почему так?
__________________
smival.com |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Потому что ты подписываешь метод экземпляра, а не сам экземпляр.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 03:36. |
|
|
« Предыдущая тема | Следующая тема » |
|
|