さて,
テキスト欄の文字を編集してみてください。リアルタイムにロゴが更新されます。
ジェネレータといえば,
コンパイルしよう
今回のソースコードは全体で200行近くあります。2つのファイルを同じフォルダにダウンロードしてください。
mxmlcを実行してコンパイルします。
mxmlc -default-background-color=0xffffff LogoGenerator.as
コンパイルオプションに-default-background-color=0xffffffをつけています。これはデフォルトの背景色を白色に設定するものです。今回のサンプルは,
コンパイルオプションでWeb2Badge.
ソースコードの全体を把握する
個別の部分を見てく前に、LogoGenerator.
package {
import ...
// LogoGenerator クラス
public class LogoGenerator extends Sprite {
// インスタンス変数の宣言
private var inputText:TextField; // テキスト入力欄
private var reflection:Bitmap; // 反射効果
private var preview:Sprite; // プレビュー表示
private var previewText:TextField; // プレビュー文字
private var hilight:Sprite; // 明るくするハイライト
private var badge:Web2Badge; // BETA のバッジ
// コンストラクタ
public function LogoGenerator():void {...}
// 表示オブジェクトの初期化
private function initComponents():void {...}
// 表示を更新する
private function update():void {...}
// 反射を更新する
private function updateReflection():void {...}
}
}
このクラスは6個のインスタンス変数とコンストラクタ,
コンストラクタ
最初にコンストラクタの処理をざっと見ていきます。
// コンストラクタ
public function LogoGenerator():void {
// 左上に固定して拡大縮小されないよう指定
stage.scaleMode = "noScale";
stage.align = "TL";
// 各コンポーネントを初期化する
initComponents();
// 初回の描画を行う
update();
// イベント登録を行う
inputText.addEventListener("change", function(event:Event):void {
update();
});
}
Flashは表示する中身が埋め込まれたときのサイズに収まるように,
次に,
それでは,