2008年06月22日
ExternalInterfaceExample @ Flash
Flash CS3のヘルプに掲載されているExternalInterfaceExampleですが、送信ボタンがSpriteとして定義されてて、見た目が格好悪いので、少し書き換えてみました。
細かく書くまでもない事だけど、一応何かの役に立つかもしれないので、書き換え方法。
当然ですが、ExternalInterfaceExample.asとしてサンプルのコードを保存します。FlashファイルはExternalInterfaceExample.flaとしておきます。で、ExternalInterfaceExample.flaのドキュメントクラスをExternalInterfaceExample.asに指定。
本題のExternalInterfaceExample.asの書き換え。
Buttonコンポーネントを使うので、importしておきます。
import fl.controls.Button;
これだけでは使えないので、flaファイルのライブラリーにButtonコンポーネントを追加します。一度コンポーネントパネルからステージにドラッグして、ステージ上のボタンは削除すれば、ライブラリーに登録されます。
ExternalInterfaceExample.asに話が戻ります。
sendBtn関連は殆ど書き換えるので、先ずはSpriteに成っている
private var sendBtn:Sprite;
を
private var sendBtn:Button;
に変更。
sendBtn = new Sprite();
は
sendBtn = new Button();
に変更し、以降は下記のように変更します。
sendBtn.x = input.width + 10;
sendBtn.height = 18;
sendBtn.width = 80;
sendBtn.label = "Send";
sendBtn.addEventListener(MouseEvent.CLICK, clickHandler);
addEventListenerの前まで書き換えてます。これで送信ボタンの見た目がボタンに成ります。流石に単純な角丸四角では格好悪いし、ボタンを押した感覚がないので、ボタンに変更しました。
以上で、修正完了。
ココで出てくる、fl.controls.Buttonですが、Flexだとmx.controls.Buttonに相当します。一々クラスが違うのは面倒なので何とかならないかなと思ったり・・・。FlashでもActionscript 2だとmx.controls.Buttonなんだよね。何故?
関連日記
- 2007年12月29日 Adobe AIRでfscommand (6067)@ Flash
アマゾン広告
この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。