/ / Apply-Effekt auf Fenster in Flex, Air, AS3 - ActionScript-3, Flex, Luft, Fenster, Effekt

Apply Effekt auf Fenster in Flex, Air, AS3 - ActionScript-3, Flex, Luft, Fenster, Effekt

Ich suche nach einem Popup-Fenster mit dem bewirken.

Das Problem ist, dass der Effekt auf den Inhalt des Popup-Fensters angewendet wird, nicht auf das Popup-Fenster selbst (einschließlich der Titelleiste, Minimieren, Maximieren der Schaltflächen usw.)

Sehen Sie sich das Ergebnis hier an ..

Ergebnis der Animation

Mein Code ist wirklich einfach und logisch, sollte funktionieren, wenn es möglich ist, ein Fenster zu animieren.

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">

<fx:Script>
<![CDATA[
import comps.MyWin;

[Bindable]
private var _win:MyWin;

protected function openPopup():void
{
_win = new MyWin();
_win.width = 300;
_win.height = 300;
_win.open();
}

protected function animatepopup():void
{
MyEffect.play();
}

]]>
</fx:Script>


<fx:Declarations>
<s:Move id="MyEffect" xFrom="{_win.x}" xTo="{_win.x + 150}" target="{_win}"/>
</fx:Declarations>

<s:layout>
<s:VerticalLayout/>
</s:layout>

<s:Button label="Open" click="openPopup()"/>

<s:Button label="Animate" click="animatepopup()"/>

</s:WindowedApplication>

Antworten:

1 für die Antwort № 1

Ich denke, du musst das Objekt "s anvisieren NativeWindow Instanz, um das Objekt zu verschieben und seine Größe zu ändern.

So ersetzen Sie _win.myProperty mit _win.stage.nativeWindow.myProperty:

<s:Move id="MyEffect" xFrom="{_win.stage.nativeWindow.x}" xTo="{_win.stage.nativeWindow.x + 150}" target="{_win.stage.nativeWindow}"/>

Dann wird die Animation Auswirkungen auf die NativeWindow und nicht das Innere des Fensters.