Событие MovieClip.onResize? как? - PullRequest
       14

Событие MovieClip.onResize? как?

1 голос
/ 16 января 2010

У меня есть SWF, называемый «control», который я создал с помощью flash cs4. Я загружаю control.swf на свой веб-сервер. Я создаю приложение на Flex, и оно загружает внешние элементы управления SWF в себя. До сих пор я мог манипулировать control.swf через свое приложение flex.

Я создал класс в своем внешнем SWF, но мне нужно добавить некоторые события / проверки onResize в мою полосу прокрутки. Например, если размер моей полосы прокрутки увеличивается / уменьшается, я хочу, чтобы она меняла значения переменных. Есть какое-нибудь событие movieClip.onResize?

Ответы [ 2 ]

4 голосов
/ 16 января 2010

К сожалению, для мувиклипов нет события onResize. Тем не менее, вы можете сделать один! В control.swf создайте класс документа. Мы назовем его Controls.as и он должен расширить MovieClip. В Controls.as есть что-то вроде этого:

override public function set width(value:Number):void{
  super.width = value;
  dispatchResizeEvent();
}

override public function set height(value:Number):void{
  super.height = value;
  dispatchResizeEvent();
}

private function dispatchResizeEvent():void{
  dispatchEvent(new Event("MovieClipResize", true));
}

Когда вы загружаете в SWF, добавьте прослушиватель событий для MovieClipResize:

controlsSwf.addEventListener("MovieClipResize", onMovieClipResize);

Я списал это с манжеты, так что это редактируемое. Он также немного упрощен и не супероптимизирован, но, надеюсь, поможет вам в этом.

0 голосов
/ 25 апреля 2011

не следует ли переопределить установленный scaleX, также scaleY?

...