どのように私は、FlashのButtonコンポーネントと、この潜在的なバグを修正しますか?

StackOverflow https://stackoverflow.com/questions/3618726

質問

私がtrueにトグルプロパティを設定して、フラッシュIDEでのUIコンポーネントパネルからButtonコンポーネントを使用する必要があります。

私は、タイムラインスクリプトでそれを使用する場合は、

は、それは素晴らしい作品ます。

私はクラス(ドキュメントクラス)の中に使用している場合は、

、選択されたプロパティが逆に (それがトグルし、その逆ではないだとき、私は本当の取得します)。

私は、プロパティ・インスペクタでfalseにトグルドキュメントクラスでtrueに続いセットトグルを設定している場合、また、それはまだ偽として描きます。私は無効にした場合、私はトレースが真の切り替えが、 選択したプロパティは常にfalseをトレースします。

はタイムラインのコードは、このような単純なようです

bold_b.addEventListener(MouseEvent.CLICK, onClick);
function onClick(event:MouseEvent):void {
    trace(event.currentTarget.selected);
}

Documentクラスは、同様に簡単です

package
{
    import flash.display.MovieClip;
    import flash.events.MouseEvent;

    public class ButtonTester extends MovieClip
    {
        public function ButtonTester()
        {
            //in timeline works fine, in class it's the other way around
            bold_b.addEventListener(MouseEvent.CLICK, onClick);
            bold_b.toggle = true;
            bold_b.invalidate('toggle',true);
            bold_b.drawNow();
            stage.invalidate();
            trace('bold_b.toggle: ' + bold_b.toggle);
            function onClick(event:MouseEvent):void {
                trace(event.currentTarget.selected);
            }
        }

    }
}

現在、私には、Flash CS3を使用しています。私は、Flash Player 10がインストールされて持っています。コンポーネントのビルド」バージョンを知らないが、彼らは、Flash Playerの9.0.28.0

下の2007年に書かれました

んの誰もがこれを周りに取得する方法を知っていますか?

役に立ちましたか?

解決

と何これについてはどうですか?

import fl.controls.Button;

var myButton:Button = new Button();
myButton.toggle = true;    
myButton.selected = true;
myButton.label = "selected:" + myButton.selected;
myButton.width = 120;
myButton.move(10, 10);
myButton.addEventListener(Event.CHANGE, changeHandler);
addChild(myButton);

function changeHandler(event:Event):void {
    var myBtn:Button = event.currentTarget as Button;
    myBtn.label = "selected:" + myBtn.selected;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top