Flash加载程序和拖动

时间:2008-11-11 00:06:47

标签: flash

我正在尝试加载外部swf电影,然后添加将其拖动到舞台上的功能,但每当我尝试这样做时,我只是走到了死胡同。您可以设置的可拖动或可点击的内容是否有任何限制?我正在做的一个例子如下:

public function loadSwf(url:String, swfUniqueName:String)
        {
            var ldr:Loader = new Loader();

            var url:String = "Swfs/Label.swf";
            var urlReq:URLRequest = new URLRequest(url);
            ldr.load(urlReq);

            ldr.contentLoaderInfo.addEventListener("complete", loadCompleteHandler);
        }

        private function loadCompleteHandler(event):void{
            var ldr = event.currentTarget;          

                    // These are only here because I can't seem to get the drag to work
            ldr.content.doubleClickEnabled = true;
            ldr.content.buttonMode = true;
            ldr.content.useHandCursor = true;
            ldr.content.mouseEnabled = true;
            ldr.content.txtLabel.mouseEnabled = true;           

            this.addChild(ldr.content);

            ldr.content.addEventListener(MouseEvent.MOUSE_DOWN, mouse_down);

        }

            mouse_down = function(event) {
        trace(event.target);
    }

使用上面的代码我只能通过点击文本字段来识别电影本身的点击,但这确实需要适用于电影的任何部分。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

如果您的内容中有空白区域,Flash会将其视为您已将剪辑单击到下面的舞台。尝试在您要加载的内容的底层添加透明方块。

还可以尝试设置:

ldr.content.mouseChildren = false;

答案 1 :(得分:1)

在黑暗中拍摄的东西,但是你可以在电影的顶部制作一个透明的电影剪辑,它被拖动,这会将swf移到下面吗?