今まで ActionScript のバージョンには全くこだわったことがありません。
普通の方もそうだと思います。
ActionScript という言葉が発生して,
Flash 5,Flash MX,Flash MX2004,そして Flash 8 というバージョンがリリースされました。
ActionScript のバージョンは,Flash MX 以降は 2 ということですが,
1とか2とか言う前に,バージョンによってできる範囲が違います。
ActionScript のバージョンが同じ 2 である Flash MX と Flash 8 でも,
できることが全然ちがいます。
つまり,Flash Player で再現できるかできないかの方が大きいです。
今だとおそらく,Flash Player 6 以上はみなさん持っているでしょうから,
Flash MX 以上のスクリプトで書いても大丈夫ということです。
私は ActionScript のバージョンより,
クライアントサイドで見えるか見えないかがとても重要だと考えています。
手持ちの Flash のスタンドアローンPlayer(exe) のファイル容量ですが,
FlashPlayer4:280 KB (286,720 バイト)
FlashPlayer5:368 KB (376,832 バイト)
FlashPlayer6:800 KB (819,200 バイト)
FlashPlayer7:980 KB (1,003,520 バイト)
FlashPlayer8:1.50 MB (1,581,056 バイト)
再生可能な画像や動画などの再現プログラムも含まれてはいますが,
再生可能な ActionScript のスクリプト自体もこれくらいの割合で増えていると思います。
ActionScript1 と ActionScript2 の境界の FlashPlayer5 と 6 の間で大きく容量が増えていることもわかります。
>> フレームに記述するため変な癖がつかなくてよい
これは全く賛同できません。
Flash MX になって,フレームに書けるスクリプトは確かに増えました。
しかし,直感的にボタンをクリックしたら,ボタンのスクリプトが動作するというのは今も昔もかわりませんし,
大変便利なことだと思います。
----------------------
on (release) {
trece("ボタンがクリックされました。");
}
----------------------
で済むものを,わざわざボタンにインスタンス名を付けて,
----------------------
buttonA.onRelease = function() {
trece("ボタンがクリックされました。");
}
----------------------
とかのようにするのは,希なケースだと思います。
両方使えるようになったので,便利だとは思いますが,
「フレームに記述するため変な癖」とは思ったことがありません。
両方使える方が便利じゃないですか。
JavaScript でも,基本的にボタンにスクリプトを書きます。
onClick = ~~ という具合に。
スクリプトの本体は,ヘッダーに function aa() { ~~ } などと書いてあったりしますが,
絶対にヘッダーに書かなければならないわけでもないです。
本体はどこに書いても良いですが,少なくとも onClick = ~~ はボタンに書くことが普通です。
また,MSWord の VBA でも,
Commandbutton 内にもVBAは書けます。
そんな中で,
Flash だけが フレーム にしか スクリプトを書けなくなるのは変ですし,ありえないと思います。
結論ですが,
Flash MX 以上を持っていれば,自然に ActionScript2 を使ってしまうものです。
Flash 5 までのスクリプトでたいていなことはできることは確かです。
しかし窮屈でしょうがない。
結局,
「お持ちの Flash のバージョンで,
FlashPlayer のバージョンを気にしながら,
出来る限りのことをする。」
それが一番であり,普通の考え方だと思います。
※ もしFlash MX 以上のバージョンをお持ちだとすると,
なぜ,ActionScript1 にこだわらなければならないか。
その根拠がさっぱりわかりません。
できる範囲のことで色々挑戦されるのが良いと思います。
お礼
ActionScript1.0と2.0が混在してしまい違いがよくわからないのです。 使い始めたのはFlash MX 2004からです。 もう少し勉強してみます。 ありがとうございました。