2007年11月13日

ActionScript1.0入門 第2回

今回からキャラクターに音が入りました。
前回キャラクターを見てお解りかと思いますが、実際に三線の音を録音・編集した音源を使用します。
以下からダウンロードしてください。

ActionScript1-02
(Flash 8以降対象)

音源データが収録されたとたん、ファイルが200倍にもなりました。
音源データ恐るべしです。

前回のキャラクターを若干修正したので、オリジナルキャラに替えてしまった方はお手数ですが、多少の修正が必要かもしれません。
まず、前回のライブラリを今回のflaファイルに読み込んで上書きし、新たに変更・追加されたムービークリップを修正してください。

さて、今回のポイントはムービークリップ「うるし」です。
音源を含む簡単なムービーが組まれています。
02-01.gif
上のレイヤーから「ラベル」「音源」「右手」・・・「影」となっています。
特にまだActionScriptは組まれていませんので、フレームの順番どおりにムービーは進みます。
左のフレームから「待機状態(音が出ない)」「低いB(シ)の音」「C(ド)の音」「D(レ)の音」・・・「高いG(ソ)の音」を順番に演奏していきます。

「ラベル」レイヤーのフレームラベルはムービーに指令を出す際に役に立ちますので、今のうちからフレームにラベルを付けるクセを付けておくと便利です。
また、「音源」レイヤーの音源設定は以下の通りです。
1. サウンド:音源データのMP3
2. 効果:なし
3. 同期:イベント(繰り返しなし)

ここで、音源とムービーを同期させる場合は3.を「ストリーミング」にしますが、当然ムービーが停止した時点で音源も停止してしまいます。
それだと、「うるし」ムービークリップが停止もしくはスキップした際に音源が停止してしまい、三線の余韻が残りません。
(例えば、次々に音階を弾いたりした場合など)
そこで、候補にあがるのは「イベント」と「スタート」です。
「スタート」は連続して音源を演奏した場合、前回の余韻が残っていると新たに演奏を始めません。
(例えば、同じ音で「タタターン」と演奏する所が「ターン」と1つになってしまう)
したがって、今回は「イベント」を使用します。

ここで、間違ってはいけないのが、「イベント」を多用してはならない点です。
「イベント」は確かに便利で、次から次へと音を重ねられます。
効果音などには最適かもしれません。
ところが、使用のPCのスペックにより(もしくはFlashの制限により?)、音が重なり過ぎると新たな音が無視されてしまうのです。
と言うより、音が全く鳴らなくなってしまいます。
ですので、大事な音は「イベント」にし、どうでも良い音は「スタート」にすると良いでしょう。

次にムービークリップの「基 うるし 三線00」〜「基 うるし 三線03」を見てください。
「基 うるし 三線00」はただの三線ですが「基 うるし 三線01」〜「基 うるし 三線03」にはムービーが組まれています。
02-02.gif
これは、弦の振動を再現したアニメーションで、「ぼかし」を使用しています。
そして、「AS1.0」レイヤーの最終フレームに、初めてActionScript1.0が出てきました。
02-03.gif
そのスクリプトは以下の通りです。
(行番号は無視してください)
1: this.stop();

これは、「このオブジェクトをこのフレームで停止せよ」という意味です。
なぜわざわざ停止させるのかと言うと、自動的にムービーは繰り返されてしまうからです。
弦の振動が大→小→停止するムービーが繰り返されてしまうと、また弦が振動してしまいます。
今回のような弦の振動は停止させましたが、ムービーによっては繰り返すべきものも当然ありますので、臨機応変に設定してください。

今回のflaファイルをパブリッシュすると、うるしが三線で音階を順番に演奏します。
余談ですが、ムービーの指や弦の動きは実際の三線を演奏している状態をできる限り再現してみました。
しかし、「低いB(シ)」の音は今回の三線の調弦(4の本調子)では出ません。
また、中ほどの「B(シ)」の音は三線には存在しません。
その代り「Bb(シb)」の音を弾きます。
いろいろ矛盾はありますが、三線の音色を楽しんでいただければと思います。
(三線に興味を持たれた方は是非「安里屋ユンタ」を聴いていってください)

今回は、ここまでとさせていただきます。
次回からは実際にムービークリップ「うるし」を操っていきたいと思います。
ちなみに、「音源」フォルダの音源をミクの歌声に替えるとミクシーケンサーになるわけです。
いろいろとイジってみてください。

< 第1回 >


関連商品
posted by Bumpyうるし at 00:27| Comment(4) | TrackBack(0) | ActionScript1.0入門

2007年10月31日

ActionScript1.0入門 第1回

ミクシーケンサーの公開は終了いたしましたが(11/7に再開しました)、その仕組みに興味を持たれた方もいらっしゃるかも知れません。
これからFlashで何かを作りたいと思われる方へのお手伝いが出来れば、ということで「ActionScript1.0入門」を記してみようと考えました。

説明にはAdobe Flash CS3 Professional(Flash 9)を使用しますが、ActionScript1.0はそれ以前のバージョン(Flash 5以上)でも問題なく動きます。
しかしながら、Flash 8以降に追加された画像の「ぼかし」などのフィルタ機能を使用するため、サンプルflaファイルはFlash 8以降のバージョンが対象となります。
ご了承ください。

さて、ActionScript1.0ですが、私個人としては一番馴染みやすいスクリプト言語だと思います。
他のプログラムのように最初から最後まで難しいコードをずらずらと入力しなくて済みますし、ヒラメキでスクリプトを追加したり変更することがとても簡単に行えます。
プログラム自体はとてもシンプルなので、むしろ重要なのはそれらのプログラムをいかにムービーに盛り込むかというアイデアの方だと思います。
プログラムが2割、アイデアが8割と言っても過言ではないでしょう。

具体的にミクシーケンサーを例に解説したいところですが、そのまま使用すると諸問題が多いため、似たようなものを作りながら解説します。
まずは、最終的なイメージ(アイデア)を考えます。

■ アイデア 1
1. 五線譜に音符を入力するとキャラクターが演奏する。
2. 演奏させる為のデータを入出力できるようにする。

とてもシンプルなアイデアですが、今後「そのためにはどうすれば良いか」という更なるアイデアを考えていく必要があります。
プログラムのことは、その後から考えていきます。

まずは、キャラクターを用意しましたので、下記からダウンロードして中身を確認してください。

ActionScript1-01
(Flash 8以降対象)

どこかで見たキャラクターですが、今後このキャラクターと一緒に話を進めさせていただきます。(笑

ここで、パブリッシュ設定を確認してください。
01-01.gif
変更した点は、以下の通りです。
1. バージョン:Flash Player 8
2. ActionScriptのバージョン:ActionScript 1.0
3. オーディオストリーム:MP3, 128 kbps, ステレオ
4. オーディオイベント:MP3, 128 kbps, ステレオ

1.は「ぼかし」などのフィルタ機能が使用できるFlash 8に設定します。
2.はActionScript1.0を使用するために変更します。
3.はオーディオストリームを今回使用しない予定ですが、一応音質を上げてステレオに変更します。
4.はオーディオイベントの音質を上げてステレオに変更します。

次に、キャラクターを見てください。
01-02.gif
全てのパーツがムービークリップになっています。
グラフィックでもいいのですが、ムービークリップにしておくと、「ぼかし」などのフィルタ機能が使えるため、とりあえず全てムービークリップで作成しています。
(グラフィックにはフィルタを使用できません)

私の個人的なルールなのですが、基となるパーツには全て「基」と名前を付けます。
そこから、右手だったら「基 うるし 右手」といった感じに名前を付けます。
要は、一目見て何に使用されている何のパーツか解れば問題ないわけです。
フォルダを作成してまとめる方法もありますが、パーツが少ないうちにフォルダを使用するとかえって面倒ですので、私はこの方法でパーツを分類しています。

今回は、ここまでとさせていただきます。
教材のキャラクターを次回までに立派なオリジナルキャラクターに変更していただいて構いません。
是非、いろいろイジってみてください。

< 第2回 >


関連商品
posted by Bumpyうるし at 22:22| Comment(8) | TrackBack(0) | ActionScript1.0入門