ActionScript を知らない人に ActionScript の話をして欲しいという初夢を見たのでブログ書きました。(*1)時代は ActionScript3.0 ですが、3.0は初心者なので勝手ながら2.0にさせて頂きます。
ActionScriptとは、Adobe FLASHに使われるプログラミング言語です。
難しい話は抜きにしてFLASHのアクションパネルに書けば動きます。FLASHオーサリングツールであれば特別な設定は不要です。

FLASH の拡張子は「.swf」ですが、object タグで FLASH を埋め込むことで「.html」ファイルで表示する事ができます。フレームの代わりにPHPを使うというWeb制作においては有用な記事があるのですが、ここではあまり関係ないので割愛します。
ついでに ActionScript を少しでも使えるようになれば、こんなことができるという一例を紹介します。
準備
FLASH上に任意の値を表示する為には、「ダイナミックテキスト」という変数の入れ物を準備する必要があります。
- テキストツールで任意の文字を表示させたい場所を指定します。
- プロパティからダイナミックテキストを選択します。
- オプションから、表示させたい変数を指定します。

コピーライトの西暦を自動更新
ActionScript を使えばページフッタの西暦も自動更新します。
var d:Date = new Date();
var copyright:String; //コピーライトの入れ物
copyright = "copyright (c) 2002 - " + d.getFullYear().toString()
+ "Episodes & Melody All rights reserved.";
自分の年齢を自動更新
ActionScript を使えば自分の年齢を自動更新して表示できます。
var d:Date = new Date();
var profiles:String;//結果の入れ物
var now:String = d.getFullYear().toString();
if (d.getMonth()+1<10) {
now += "0"+(d.getMonth()+1).toString();
} else {
now += d.getMonth().toString();
}
if (d.getDate()<10) {
now += "0"+d.getDate().toString();
} else {
now += d.getDate().toString();
}
profiles = Math.floor((Number(now)-19850115)/10000)+"歳";
ページの部品を読み込む
ActionScript を使えば、同ドメイン内の外部のFLASHを読み込む事ができます。
var parts = new MovieClipLoader ();
parts.loadClip("test1.swf" , 1); //1の部分は外部SWFを読み込む場所へのパス
これを応用するとヘッダとフッタを同期したりできますが、そんな事をするくらいなら1つのFLASHで作ったほうが効率的です。
他人のサイトの内容を読み込む
通常 FLASH では、セキュリティの関係上別ドメインのファイルを読み込めない事になっています。アクセス許可などを記述する「クロスドメインポリシーファイル」を使う方法がありますが、別ドメインのファイルを読み込む為にはクロスドメインポリシーファイルを読み込みたいファイルがある別ドメインにアップロードしなくてはいけません。RSSなどを読み込みたい場合、配信先にアップロードする事は難しいです。その場合、PHPさんの力を借りればRSSを読み込めるかもしれません。
複数のメッセージをランダムに表示
var comment:Array = new Array("メッセージ1","メッセージ2","メッセージ3");
var output:String = comment[Math.floor(Math.random()*3)];
指定した月のカレンダーを出力
少し長いですが、2010年12月のカレンダーを出力します。FLASHですから、枠や装飾はFLASHで描きます。
準備
カレンダーの7*5分だけダイナミックテキストを配置し、プロパティから名前をつける。
(ここでは、d1~d35という名前をつけています。)
サンプル
calender(2010,12);
function calender(year, month) {
var d:Date = new Date(year, month-1, 1);
var week:Number;
var days:Number;
var day_count:Number = 1;
week = d.getDay();
d.setFullYear(year,month,0);
days = d.getDate();
for (var i = 1; i<=35; i++) {
if (i>week && day_count <= days) {
this["d"+i].text = day_count;
day_count++;
} else {
this["d"+i].text = "";
}
}
}
まとめ
以上のように結構便利なものがあります。準備欄の事をやってもらってコピーして貼りつけてたら大体のFLASHオーサリングツールで動きますのでどうぞ。
他の方のPHP版、JS版、Ruby版、Python版と比べると ActionScriptは大分畑違いな感じがしますが、一応出来るよという事で書いてみました。
興味のある方はぜひ以下の記事をご覧ください。
(*1) ネタ元の書き出しを踏襲させて頂きました。