0

こんにちは、Actionscript を使用して新しいコンポーネントを追加するときに、スムーズにフェードインしたいです。たとえば、このコンポーネントです。

    var df : DateField = new DateField();   
    df.text = DateField.dateToString(new Date(),stringFormat);
    df.formatString = stringFormat;

私はこれを試しました

    var fade : Fade = new Fade();
    df.setStyle("showEffect", fade);

しかし、それはうまくいきませんでした。

何か案は?=)

前もって感謝します

セバスチャン

4

2 に答える 2

3

showEffect は、コンポーネントの .visible プロパティを変更した場合にのみトリガーされます。フェードの素晴らしさを体験するには、どこかでそれをトリガーする必要があります。

私はこれを非常に簡単にまとめたので、あなたは私が何を意味するかを見ることができます.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
                layout="absolute" 
                creationComplete="init()">

    <mx:Script>
        <![CDATA[
            import mx.events.FlexEvent;
            import mx.controls.DateField;

            private function init():void{

                var df:DateField = new DateField();
                df.visible = false;
                df.setStyle("showEffect","Fade");
                this.addChild(df);
                df.addEventListener(FlexEvent.CREATION_COMPLETE,triggerFade);

            }

            private function triggerFade(event:FlexEvent):void{

                var df:DateField = event.currentTarget as DateField;    
                df.visible = true;

            }

        ]]>
    </mx:Script>
</mx:Application>
于 2009-07-02T18:01:58.177 に答える
1

Adobe のトゥイーン ライブラリとソートは非常に遅いことに注意してください。GTween (まだベータ版ですが、問題はありません)、TweenLite/Max (ライセンスの問題がある可能性があります)、または Tween (使いやすいですが、他の 2 つよりもはるかに遅い) をお勧めします。アルファを 0 に設定します。それは簡単ではありませんが、これらのライブラリははるかに優れたパフォーマンスを提供します。

于 2009-07-02T22:10:25.947 に答える