テキストエフェクト
ParaFla! version1.30 から、テキストエフェクトが使用できるようになりました。
ここでは、そのテキストエフェクトの使用、作成について解説します。
●テキストエフェクトの使用
parafla フォルダ内に、「effect」というフォルダがあります。
テキストエフェクトは、通常のプロジェクトファイルと同じ pfl 形式で、このフォルダの中に保存されています。
中には「in」「out」2つのフォルダがあり、文字を出現させるエフェクトは「in」、文字を消滅させるエフェクトは「out」に保存されています。
他のサイトなどからエフェクトをダウンロードした場合は、対応するフォルダに保存することでエフェクトの種類を増やすことができます。
テキストエフェクトを使うには、まずファイルリストを右クリックして、「アイテムを追加」⇒「テキスト」で、テキストを作ります。
フォントを「埋め込みフォント」(フォント名のはじめに" _ "(アンダースコア)が付いていないフォント)にすると「テキストエフェクト」というチェックボックスが表示されるのでチェックします。
続いて、「設定」をクリック。
設定画面が出ます。
「フレームイン」(文字を表示)するときの「フレームカウント」(すべての文字のエフェクトが完了するまでのフレームカウント)と、どのエフェクトを使うかを「エフェクト種別」で選択します。
また、ひとつひとつの文字のエフェクトが開始される「間隔」と、開始される「順序」を設定できます。
エフェクトを選択するときには、下部の「エフェクト情報」というところに種別、作者、コメントなどの情報が表示されます。
「エフェクト種別」に表示されるエフェクト名に「 (SWF8) 」とついているものは、SWF のバージョンが SWF8 でなければ使用できません。
また、「 (S) 」とついているものは ActionScript が使用されているエフェクトで、SWF のバージョンによっては使用できないことがあります。
どのバージョンで使用できて、どのバージョンで使用できないのかは、エフェクト情報のコメントなどを参照してください。
「フレームアウト」(文字を消していく)も同じように設定することができます。
「フレームイン」には「in」フォルダに保存したエフェクトが、 「フレームアウト」には「out」フォルダに保存したエフェクトが表示されています。
「表示」のフレームカウントを設定すると、そのフレームカウントの間「フレームアウト」に移行せずそのまま表示されます。
スクリプトを使用したエフェクトの場合、「パラメータ」を設定できる場合があります。
「>>>」というボタンを押すと、右にウィンドウが伸びて「パラメータ」という部分が出てきます。
設定できるパラメータはエフェクトによって異なります。
「プレビュー」を押すと、現在設定した状態でのプレビューを見る事が出来ます。
フレームアウトの下に「合計」というものがありますが、
これはフレームインからフレームアウトまでの一連の作業を行う合計フレームカウント数のことです。
実際にイベントに追加するときには、テキストイベントのフレームカウントをこの数値よりも長く設定しないとエフェクトが最後まで表示しきれないので注意してください。
以下は色々な設定のサンプルです。
テキストエフェクトはひとつのテキストイベントにつき最大513文字までです。
また、テキストエフェクトを使用すると swf のファイルサイズが大きくなるので注意してください。
●テキストエフェクトの作成
テキストエフェクトファイルは、通常の ParaFla! プロジェクトファイルと同様の pfl ファイルであり、中身も単なるプロジェクトファイルなので、
Flashを作成する感覚で簡単にテキストエフェクトを作成する事が出来ます。
ここでは、ParaFla! 同梱の "エフェクト作成マニュアル.txt" に沿ってエフェクト作成を解説していきます。
まず、ParaFla! を起動し「新規作成」します。
次に、「author:製作者名」と「comment:コメント」というラベルをそれぞれ作成します。
「製作者名」「コメント」の部分には実際の製作者の名前と、作成するエフェクトについてのコメント(エフェクトの簡単な説明等)を入力します。
これら2つのラベルで設定したものは、エフェクトを使用するときの設定ダイアログで「エフェクト情報」として表示されます。
次に、ID:0001 のスプライトを作成します。
スプライトのサイズはどの大きさでもいいですが、基準点はスプライトの中心に来るように設定しなければいけません。
次に、このスプライトをイベントリストのラベルの下に追加してください。
このスプライトの深度は必ず 0 にする必要があります。
このスプライトの動きがそのままエフェクトの動きとなります。自由に動かしてエフェクトを作成することができます。
アクションは「何もしない」のみが使用可能です。その他のアクションは使用できません。
作成する際は、スプライトの中に何も入っていない状態だと何も表示されず調節しづらいので、ダミーとしてテキストを作成しスプライトの中に配置しておくとわかりやすいです。
このテキストはエフェクトが完成した際に削除しておかなくても大丈夫です。ID:0001 のスプライト以外はエフェクトとして使用する際に全て無視されるので問題はありません。
また、FPS はエフェクトとして使用する際に自動調整されるので、フレームカウントをあわせる必要もありません。
ActionScript はスプライトのクリップアクションのみ使用可能ですが、インスタンス名を付けることは出来ません。
スクリプトを使用する場合、次の定数が使用できます。
スクリプト:コメント[param] としたフレームアクションを作成しておきその中で規則に従って変数を定義すると、パラメータ変数を設定する事が出来ます。
パラメータは以下のようにアンダースコアを2つ重ねて定義します。
__Size = 1;
このように記述する事によって、エフェクト設定ダイアログに、パラメータを入力するボックスが表示されます。
この場合は__Sizeというパラメータ変数を作成したので、エフェクトを利用する人が変数__Sizeの内容を好きな数値に変更する事が出来るようになります。
また、以下のようにパラメータ変数のうしろにコメントをつけると、エフェクトを使用するときの設定ダイアログでパラメータの説明を表示する事ができます。
ただし、あまり多い文字数だとはみ出てしまい表示されないことがあります。
__Size = 1; //文字のサイズ
__Mode = 0; //0:右から登場 1:左から登場
また、エフェクト動作時には以下のような動作に関するドライバ定数を取得する事が出来ます。
__lettercount :自分自身は何文字目か(1文字目⇒0、2文字目⇒1、…)
__lettertotal :テキストの総文字数
__frametotal :1文字あたりのフレームカウント(FC)。[FC] = [総FC] - [文字数] * [間隔]で計算される。
これらはエフェクトとして使用しているときのみ正しい値を返すので、エフェクトを作成している途中では確認できませんが、
スクリプト:コメント[driver] としたフレームアクションを作成しておきその中で定義する事で仮の値を代入しておく事が出来ます。
__lettercount = 1;
__lettertotal = 20;
プロジェクトファイルを保存する際は、エフェクトの pfl ファイル名がそのままエフェクト名として表示されるので、わかりやすい名前を付けましょう。
SWF8 でフィルタやブレンドなどを使ったエフェクトの場合は、エフェクト名に「 (SWF8) 」、ActionScript を使ったエフェクトの場合は、エフェクト名に「 (S) 」と表記しておきます。
これは、SWF4〜7 ではフィルタやブレンドが使用できず、また ActionScript は SWF のバージョンによって仕様に違いがあるため、どのモードなら使用できるのかを利用者に分かりやすくするためです。
「 (S) 」表記をした場合は、comment:コメントラベルに「SWF8専用」や「SWF6以降専用」などという表記も合わせてしておきましょう。
また、作成したエフェクトを配布する際は、誤解を招かぬように「in」「out」のそれぞれのフォルダを作ったり、ファイル名に「in」「out」を明記したりするなどフレームイン用とフレームアウト用が分かるようにしておくと良いと思います。
うまく作れない場合、他人の作ったテキストエフェクト pfl を開いて参考にしてみましょう。
ParaFla! にもともと同梱されているテキストエフェクト pfl 以外にも、多くのテキストエフェクトが公開されています。
⇒テキストエフェクト - ParaFla! Wiki
●テキストエフェクトが使用できない場合
テキストエフェクトを使用しようとしても、「エフェクト種別」で「なし」以外表示されない場合、
「effect」フォルダ内にテキストエフェクト用の pfl ファイルが入っているかどうか確認してください。
また、「effect」フォルダは parafla.exe と同じフォルダ内に存在していなければなりません。
ちなみに、ショートカットから ParaFla! を起動している場合は、ショートカットからではなく直接起動すると改善される場合があるそうです。
●テキストエフェクトを設定したテキストのボタンアクション
テキストエフェクトを設定したテキストのボタン設定は動作しないようです。
ボタン設定をしたい場合は、テキストエフェクト完了後に、テキストエフェクトを設定していない同じ文章のテキストとすり替えるなどの工夫が必要です。