Flash IDE の UI コンポーネント パネルから Button コンポーネントを使用し、toggle プロパティを true に設定する必要があります。
タイムライン スクリプトで使用すると、うまく機能します。
クラス(ドキュメントクラス)内で使用すると、選択したプロパティが逆になります(トグルされていない場合はtrueになり、その逆も同様です)。
また、プロパティ インスペクターでトグルを false に設定し、ドキュメント クラスでトグルを true に設定しても、依然として false としてトレースされます。無効にすると、トレースを true に切り替えますが、選択したプロパティは常に false をトレースします。
タイムライン コードは次のように単純です。
bold_b.addEventListener(MouseEvent.CLICK, onClick);
function onClick(event:MouseEvent):void {
trace(event.currentTarget.selected);
}
ドキュメント クラスも単純です。
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 年に作成されたものです。
これを回避する方法を知っている人はいますか?