| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Feb 2007
Beiträge: 32
| Zustandswechsel in MXML
Hallo, ich habe eine Frage: ich habe Zustande (states) definiert. Bei einem Zustandswechsel blende ich im verlassenden Zustand eine Grafik aus. Das dauert ein paar Sekunden. Der neue Zustand soll erst aktiviert werden, wenn der alte zustand komplett mit dem ausblenden fertig ist. Wie kann ich rausfinden, das der alte Zustand komplett fertig ist?? Gruss Martin |
| | |
| | #2 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Du musst mit StateChangeEvents arbeiten.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Feb 2007
Beiträge: 32
|
danke für die schnelle antwort. das klappt leider nicht, da das Event schon gefeuert wird, auch wenn das Event exitState vom Zustand noch nicht fertig ist: hier der Code Code: <myns:states>
<mx:State name="statesign50" exitState="{mytarget1.visible = false}">
<mx:SetProperty target="{mytarget1}" name="visible" value="true"/>
</mx:State>
<mx:State name="statesign70" exitState="{mytarget2.visible = false}">
<mx:SetProperty target="{mytarget2}" name="visible" value="true"/>
</mx:State>
</myns:states>
<mx:Fade id="fade" duration="2000"/> Wie geht das? |
| | |
| | #4 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Ah, ich hab deinen post falsch gelesen. Definier eine Sequence für eine Transistion. Dann passt das.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Feb 2007
Beiträge: 32
|
verstehe es noch nicht ganz: so klappt es nicht: Code: <myns:states>
<mx:State name="state1">
<mx:SetProperty target="{target1}" name="visible" value="true"/>
<mx:SetProperty target="{target2}" name="visible" value="false"/>
<mx:SetProperty target="{target3}" name="visible" value="false"/>
</mx:State>
<mx:State name="state2">
<mx:SetProperty target="{target1}" name="visible" value="false"/>
<mx:SetProperty target="{target2}" name="visible" value="true"/>
<mx:SetProperty target="{target3}" name="visible" value="false"/>
</mx:State>
<mx:State name="state3">
<mx:SetProperty target="{target1}" name="visible" value="false"/>
<mx:SetProperty target="{target2}" name="visible" value="false"/>
<mx:SetProperty target="{target3}" name="visible" value="true"/>
</mx:State>
</myns:states>
<myns:transitions>
<mx:Transition fromState="*" toState="*">
<mx:Sequence targets="{[target1,target2,target3]}">
<mx:Fade duration="2000"/>
</mx:Sequence>
</mx:Transition>
</myns:transitions> |
| | |
| | #6 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Etwas Code muss es schon sein, damit es vernünftig läuft. Code: <?xml version="1.0" encoding="utf-8"?>
<mx:Application layout="vertical"
initialize="eventListener(event)"
xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
import mx.messaging.AbstractConsumer;
private var _stateIndex:int;
private function eventListener(event:Event):void
{
switch(event.type)
{
case FlexEvent.INITIALIZE:
{
currentState = "state1";
_stateIndex = 0;
break;
}
case MouseEvent.CLICK:
{
if (_stateIndex < states.length-1)
_stateIndex++;
else
_stateIndex = 0;
currentState = State(states[_stateIndex]).name;
}
}
}
]]>
</mx:Script>
<mx:states>
<mx:State id="state1" name="state1">
<mx:SetProperty name="alpha" target="{panel1}" value="0" />
<mx:AddChild>
<mx:Panel id="panel1">
<mx:ControlBar>
<mx:Button click="eventListener(event)" label="button 1" />
</mx:ControlBar>
</mx:Panel>
</mx:AddChild>
</mx:State>
<mx:State id="state2" name="state2">
<mx:SetProperty name="alpha" target="{panel2}" value="0" />
<mx:AddChild>
<mx:Panel id="panel2">
<mx:ControlBar>
<mx:Button click="eventListener(event)" label="button 2" />
</mx:ControlBar>
</mx:Panel>
</mx:AddChild>
</mx:State>
<mx:State id="state3" name="state3">
<mx:SetProperty name="alpha" target="{panel3}" value="0" />
<mx:AddChild>
<mx:Panel id="panel3">
<mx:ControlBar>
<mx:Button click="eventListener(event)" label="button 3" />
</mx:ControlBar>
</mx:Panel>
</mx:AddChild>
</mx:State>
</mx:states>
<mx:transitions>
<mx:Transition fromState="" toState="state1">
<mx:Sequence>
<mx:SetPropertyAction name="alpha" target="{panel1}" value="0" />
<mx:AddChildAction target="{panel1}" />
<mx:Fade alphaFrom="0" alphaTo="1" target="{panel1}" />
</mx:Sequence>
</mx:Transition>
<mx:Transition fromState="state1" toState="state2">
<mx:Sequence targets="{[panel1, panel2]}">
<mx:Fade alphaFrom="1" alphaTo="0" target="{panel1}" />
<mx:RemoveChildAction target="{panel1}" />
<mx:SetPropertyAction name="alpha" target="{panel1}" value="0" />
<mx:AddChildAction target="{panel2}" />
<mx:Fade alphaFrom="0" alphaTo="1" target="{panel2}" />
</mx:Sequence>
</mx:Transition>
<mx:Transition fromState="state2" toState="state3">
<mx:Sequence targets="{[panel2, panel3]}">
<mx:Fade alphaFrom="1" alphaTo="0" target="{panel2}" />
<mx:RemoveChildAction target="{panel2}" />
<mx:SetPropertyAction name="alpha" target="{panel2}" value="0" />
<mx:AddChildAction target="{panel3}" />
<mx:Fade alphaFrom="0" alphaTo="1" target="{panel3}" />
</mx:Sequence>
</mx:Transition>
<mx:Transition fromState="state3" toState="state1">
<mx:Sequence targets="{[panel3, panel1]}">
<mx:Fade alphaFrom="1" alphaTo="0" target="{panel3}" />
<mx:RemoveChildAction target="{panel3}" />
<mx:SetPropertyAction name="alpha" target="{panel1}" value="0" />
<mx:AddChildAction target="{panel1}" />
<mx:Fade alphaFrom="0" alphaTo="1" target="{panel1}" />
</mx:Sequence>
</mx:Transition>
</mx:transitions>
</mx:Application>
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |