0

私は AS3 で小さなプロジェクトに取り組んでおり、いくつかのインターフェイス ボタンを作成する必要があります。最初はそれらを別々のクラスとして持っていましたが、それはおそらくやり過ぎであることに気づき、その上で、ボタンを作成し、イベントディスパッチを親に割り当てることで、イベント呼び出しを簡素化する方法を見つけました。

とりあえず、

SimpleButton クラスを使用して作り直そうとしましたが、ボタンに何らかのデザインを与える方法がわかりません。Web 上のすべてのチュートリアルでは、SimpleButton を使用して、コードで実際に描画することにより、最も必要最小限の Actionscript グラフィックのみを作成します (なぜ誰もがそれをやりたいのかは私には理解できません)。ライブラリ項目を upState に割り当てる試み:

_deletebutton = new SimpleButton();
_deletebutton.upState = mc_deleteButtonUp; <--- exists in my library

何もしません。

Adobe のドキュメントによると、さまざまな状態が DisplayObjects を受け取る、つまり Sprites と MovieClips を受け取ると書かれているので、これを実行できるはずです。誰も方法を知っていますか?

ありがとうございました

4

3 に答える 3

3

+1 weltraumpirat ドキュメントの例ではコードで状態を生成しますが、ボタンのさまざまな状態に任意の displayObject を割り当てることができます。

var btn:SimpleButton = new SimpleButton();

btn.downState      = new clipFromLibDown();
btn.overState      = new clipFromLibOver();
btn.upState        = new clipFromLibUp();
btn.hitTestState   = new clipFromLibHit();
btn.useHandCursor  = true;

addChild( btn );

ライブラリにclipFromLibDown、clipFromLibOver ...と呼ばれる4つの状態があると仮定すると、これは機能します

于 2011-02-16T10:14:55.870 に答える
1

SimpleButton インスタンスの hitTestState プロパティを設定していない可能性があります。このプロパティは、SimpleButton でマウス イベントを取得するためにユーザーがマウスを移動する必要がある場所を定義する DisplayObject です。これを設定した DisplayObject は表示されません。別の状態で既に使用している DisplayObjects の 1 つを使用することをお勧めします。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/SimpleButton.html#hitTestState

また、weltraumpirat と nicoptere が既に述べたように、新しい演算子を使用する必要があります。

于 2011-02-16T22:21:10.817 に答える
1

ActionScript でアイテムを使用するには、ライブラリからアイテムをインスタンス化する必要があります。これを行うには、[ActionScript 用にエクスポート] をクリックし、プロパティ パネルでクラスまたは基本クラスを mc_deleteButtonUp に割り当てます。次に、割り当てられたクラスでnew演算子を使用してインスタンス化します。Adobe のドキュメントの例を使用してボタンを開始し、独自のプログラムに合わせて変更することができます。

于 2011-02-16T05:58:09.877 に答える