修复x和;在另一个swf文件中加载的swf文件中的弹出窗口的y轴

时间:2011-08-26 18:52:28

标签: flex actionscript-3

我在另一个swf文件mdi_window中加载了一个“cal”swf文件。因此窗口可以在应用程序内移动。

问题在于用于在cal swf中打开的弹出窗口的x y轴。 打开弹出窗口的函数的代码是:

private var eventPanel:ElixirEventPanel = null;
        private function showEventEditPanel(item:CalendarItem,x:int,y:int):void{            
            eventPanel = ElixirEventPanel.sharedInstance;       
            eventPanel.setStyle("modalTrasparancy",0);
            eventPanel.setStyle("modalTransparencyBlur",0);
            eventPanel.setStyle("modalTransparencyColor",0xffffff);
            eventPanel.setStyle("modalTransparencyDuration",0);
            PopUpManager.addPopUp(eventPanel,DisplayObject(super), false);       
            eventPanel.calendarItem = item;

            eventPanel.x = x - eventPanel.width;
            eventPanel.y = y - eventPanel.height/2;
            if(eventPanel.y < this.parent.scaleY + 100)
                eventPanel.y = this.parent.scaleY + 100;


        }

现在这个swf被加载到另一个文件中使用:(你可以看到我试图将本地坐标转换为Global,使用localToGlobal函数,但我想我做错了)

<s:SWFLoader id="template" source="Cal.swf" loadForCompatibility="true" width="100%"  height="100%" scaleContent="true" complete="dump(event);"/>
<fx:Script>
            <![CDATA[   
        private function dump(event:Event): void {              
            var panel:MovieClip = MovieClip(template.content);
            var pt:Point = panel.localToGlobal(new Point(panel.x, panel.y));                
        }
    ]]>
</fx:Script>

x&amp;弹出窗口的y轴基于正在加载Cal.swf的mdi_window的位置进行连线。 x&amp;如果我在应用程序的左上角一直移动mdi_window,y轴工作正常。

第一张图显示当我在日历上双击10:00 AM紫色事件时弹出窗口的打开方式。 enter image description here

现在,当我移动窗口时,弹出窗口也移动到侧面。我在这里再次点击了相同的10:00Am紫色事件:enter image description here 我该如何解决这个问题。

任何建议都表示赞赏。

最佳

Zee的

1 个答案:

答案 0 :(得分:1)

您是否尝试localToGlobal()将本地点转换为全局点?它应该可以工作,但我从来没有尝试过使用SWFLoader。