OOOPs...pulled a dumb one there, I was listening for complete..this works.

<?xml version="1.0" encoding="utf-8"?>
<s:Skin
xmlns:fx="http://ns.adobe.com/mxml/2009";
xmlns:s="library://ns.adobe.com/flex/spark"
creationComplete="init();">

    <fx:Metadata>
        [HostComponent("spark.components.Application")]
    </fx:Metadata>
 <fx:Script>
<![CDATA[
import mx.controls.Alert;
 private var timer:Timer;
 public function init():void {
timer = new Timer(2000);
timer.addEventListener(TimerEvent.TIMER, changeBg);
timer.start();
}
 public function changeBg(e:TimerEvent):void {
currentState = (currentState == "normal") ? "anotherbg" : "normal";
}
 ]]>
</fx:Script>

    <s:states>
        <s:State name="normal" />
        <s:State name="disabled" />
<s:State name="anotherbg"/>
    </s:states>
 <s:transitions>
<s:Transition>
<s:Fade targets="{[backgroundRect,backgroundRect2]}"/>
</s:Transition>
</s:transitions>

    <s:Rect id="backgroundRect" left="0" right="0" top="0" bottom="0"
includeIn="normal">
        <s:fill>
<s:LinearGradient rotation="90">
<s:GradientEntry color="#000000" />
<s:GradientEntry color="#999999" />
</s:LinearGradient>
        </s:fill>
    </s:Rect>
 <s:Rect id="backgroundRect2" left="0" right="0" top="0" bottom="0"
includeIn="anotherbg">
<s:fill>
<s:LinearGradient rotation="90">
<s:GradientEntry color="#999999" />
<s:GradientEntry color="#000000" />
</s:LinearGradient>
</s:fill>
</s:Rect>

    <s:Group id="contentGroup" width="100%" height="100%" minWidth="0"
minHeight="0" />

</s:Skin>


Thank You
Dan Vega
danv...@gmail.com
http://www.danvega.org/


On Tue, Aug 17, 2010 at 11:20 AM, Dan Vega <danv...@gmail.com> wrote:

> I am trying to do a simple animation with a flex app skin between 2
> backgrounds. Why does this not work? The function changeBG does not get
> called as expected. Its really weird though because every now and then it
> does. I would expect it to get called every second with the following code.
>
> <?xml version="1.0" encoding="utf-8"?>
> <s:Skin
> xmlns:fx="http://ns.adobe.com/mxml/2009";
>  xmlns:s="library://ns.adobe.com/flex/spark"
> creationComplete="init();">
>
>     <fx:Metadata>
>         [HostComponent("spark.components.Application")]
>     </fx:Metadata>
>  <fx:Script>
> <![CDATA[
> import mx.controls.Alert;
>  public function init():void {
> var timer:Timer = new Timer(1000);
>  timer.addEventListener(TimerEvent.TIMER_COMPLETE,changeBg);
> timer.start();
>  }
>  public function changeBg(e:TimerEvent):void {
>  Alert.show("Change BG");
> currentState = (currentState = "normal") ? "anotherbg" : "normal";
>  }
>  ]]>
>  </fx:Script>
>
>     <s:states>
>         <s:State name="normal" />
>         <s:State name="disabled" />
>  <s:State name="anotherbg"/>
>     </s:states>
>  <s:transitions>
> <s:Transition>
> <s:Fade target="{backgroundRect2}"/>
>  </s:Transition>
> </s:transitions>
>
>     <s:Rect id="backgroundRect" left="0" right="0" top="0" bottom="0"
> includeIn="normal">
>         <s:fill>
> <s:LinearGradient rotation="90">
> <s:GradientEntry color="#000000" />
>  <s:GradientEntry color="#999999" />
> </s:LinearGradient>
>         </s:fill>
>     </s:Rect>
>  <s:Rect id="backgroundRect2" left="0" right="0" top="0" bottom="0"
> includeIn="anotherbg">
>  <s:fill>
> <s:LinearGradient rotation="90">
> <s:GradientEntry color="#999999" />
>  <s:GradientEntry color="#000000" />
> </s:LinearGradient>
>  </s:fill>
> </s:Rect>
>
>     <s:Group id="contentGroup" width="100%" height="100%" minWidth="0"
> minHeight="0" />
>
> </s:Skin>
>
>
>

Reply via email to