我在另一个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紫色事件时弹出窗口的打开方式。
现在,当我移动窗口时,弹出窗口也移动到侧面。我在这里再次点击了相同的10:00Am紫色事件: 我该如何解决这个问题。
任何建议都表示赞赏。
最佳Zee的