AS3 ではかなり複雑なようです。(buttonXglow.png) 画像を、メイン クラスにメンバー変数として配置した次のものを埋め込もうとしましたが、うまくいかないようです。
[Embed(source='button1out.png')] public static var Button1Out:Class;
(これはフラッシュ cs3 では機能しません)
上記の [Embed(...)] 構文は FlashDeveloper に属しているという答えがここにあるようです。オプションを使用している Flash CS3 では、画像をライブラリに手動でインポートし、クラスが作成されるように設定します各画像(少し時間がかかりますが、うまくいきました)。
編集:「2022 Class %1 must inherit from DisplayObject to link to a symbol.」という問題があったことに注意してください。これは、何らかの理由でリンケージが機能しなくなった Flash CS3 のバグのようです。ライブラリから画像を削除して再度インポートすることでこれを解決します。
[ビットマップ プロパティ] ウィンドウの [リンケージ] オプションを使用して、ActionScript のエクスポートを設定します。クラス名を設定すると、基本クラスが flash.display.BitmapData に設定されます。
コードでは、通常どおりクラスを使用できます。たとえば、次のようになります。
var image:Bitmapdata=new Button1outClass(23, 23); // コンストラクターで幅と高さを設定する必要があることに注意してください。
次のコードを使用して、ビットマップでスプライトを生成しました。
button1Out=new Sprite();
button1Out.addChild(new Bitmap(new Button1outClass(23, 23)));
それは私たちを導きます
- ボタンを選択済みとしてマークします。たとえば、常に (buttonXglow.png) で表示します。
- ボタンを無効にできるようにします (私は mouseEnabled = false; を使用していますが、現時点ではその動作をオフにしていますが、外観を (buttonXout.png) 画像に変更したいと考えています)。
指さすだけで簡単に解決
button.upState=button.overState;
(問題は、復元できるように upState を保存する必要があることです)
次のように簡単です。
button.upState=button1Out:
(ここでも復元が問題ですが、ボタンを無効にするだけなので、二度と有効にしないでください)