2010年9月1日水曜日

[MA-3] 自作オブジェクトを用いた数字の表示



ex3_pict_num.swf

1. メニューの挿入→新規シンボルから,ムービークリップ作成.
2. メニューの表示→グリッド→グリッドの編集から,グリッドの表示,及びグリッドに吸着にチェックを入れ,グリッド間隔を縦横2pxとする.
3. ステージ上に7セグメントディスプレイ表示の8を作成.
4. タイムラインの2フレーム目を選択し,挿入→タイムライン→キーフレームを選択.
5. タイムラインの3フレーム目から10フレーム目までも同様に,メニューの挿入→タイムライン→キーフレームを選択.
6. タイムラインの1フレーム目を選択し,ステージ上に表示されているオブジェクト(7セグメントディスプレイ表示の8)から,不要な部分を削除して数字の0とする.
7. 2フレーム目から10フレーム目までも同様に,各フレームで表示されるオブジェクトが,数字の1~9になるように,不要部分を削除する.
8. シーンの編集ボタンから,シーン1を選択.
9. メニューのウィンドウ→ライブラリを選択.
10. 9で開いたウィンドウ内の「シンボル1」をステージ上にDrag and Drop.
11. ステージ上に配置されたムービークリップを選択し,インスタンス名を「numMc0」とする.
12. 11で配置したムービークリップを複製し,インスタンス名を「numMc1」とする.
13. ムービークリップを配置したタイムラインに以下のASを記述
14. プレビュー画面で「18」と表示されていることを確認.

ActionScript2.0
var keta:Number = 2;

function numDisp(getNum:Number):Void {
 var i:Number = 0;
 var maxNum:Number = Math.pow(10, keta) - 1;
 var num:Number = Math.max(Math.min(getNum, maxNum), 0);
 var strNum:String = "0000" + String(num);
 strNum = strNum.substr(strNum.length - keta, keta);
 for (i = 0; i < keta; i++) {
  this["numMc" + i].gotoAndStop(Number(strNum.charAt(i)) + 1);
 }
}

this.numDisp(18);
stop();
ダウンロード

0 件のコメント: