我有一个名为“控件”的swf,它是我用flash cs4创建的。我将controls.swf上传到我的web服务器。我在flex中创建了一个应用程序,它将外部swf控件加载到它自己中。到目前为止,我可以通过我的flex应用程序来操作controls.swf。
我在外部swf中创建了一个类,但我需要向滚动条添加一些onResize事件/检查。例如,如果我的滚动条大小增加/减小,我希望它改变变量值。有没有什么movieClip.onResize事件?
发布于 2010-01-16 12:11:44
不幸的是,没有针对电影剪辑的onResize事件。但是,你可以做一个!在controls.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);这是我即兴写的,所以它是可编辑的。它也被简化了一点,并不是超级优化的,但希望它能让你继续前进。
发布于 2011-04-26 02:16:31
难道你不应该重写set scaleX,scaleY吗?
https://stackoverflow.com/questions/2076120
复制相似问题