as2: 2007年9月アーカイブ


AS2だと BezierSegment クラスは用意されていないけど、CS3の以下のディレクトリ
Adobe Flash CS3\ja\Configuration\ActionScript 3.0\Classes\fl\motion
の中に入ってる BezierSegment.as をコピーして少し書き換えればAS2でも使えます。

・packageの記述を削除
・int を Number に書き換え
・for each を for in に書き換え
・function の引数のデフォルト値を削除

swfファイルがココに置いているので、これをダウンロードして WindowSWF フォルダに入れれば Flash 内で
「ウィンドウ」→「他のパネル」から開けます。
なんとなく思ったこと。

ActionScript のクラスを作るときって、もちろん Flash のオーサリングを前提にして作る。
今まで何度も他の人が作った fla ファイルを修正依頼なんかで見てきたりしたんだけど、
Flash のオーサリング方法は結構人それぞれで、スクリプトの書き方も、それによって
大幅に違ってたりする。

ステージ上に何も配置しないで、すべて attachMovie とかでレイアウトすらスクリプトで指定する人もいれば、
コンテンツを細切れにして、どんどん外部SWF化してたり、
flaファイル内ですべてレイアウトして、それに対してスクリプトで操作を加える作り方だったり。
すべてを 1 フレームに収めてしまう人もいれば、コンテンツ毎にフレームを区切って作成する人もいるし、
「シーン」機能を使ってコンテンツ毎にシーンを作成する人もいる。

作り方が人それぞれだから、そこに書かれたスクリプトの使い方も人それぞれ。

僕はというと、
「flaファイル内ですべてレイアウトして、それに対してスクリプトで操作を加える作り方」で、
「コンテンツ毎にフレームを区切って作成する人」なわけ。

デザイン画像をガイドレイヤーに配置して、その上からパーツを配置していく。
そこにスクリプトを埋め込んで操作を加えていく。
だから、座標やスケールなどの指定は、絶対値よりも相対値を用いることが多い。

X座標 -10 からフェードインしてきて、 +10 に向かってフェードアウト

みたいな。

こういうレイアウト指向(?)なものに適したクラスを作っていくと
もっと作業が楽になるんじゃないかと思った。

めもめも。