【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言

いつも大変お世話になっております。
ただいま、WindowsXP及び、FlashMXを使用して、
下記の作業を行っているのですが、お分かりになる方いらっしゃいましたらどうか御教授ください。
なお、下記件は少々急ぎます。

■ 今、Flashでドラマのエンディングみたいな、スタッフロールを作成しております。
仕組みはただ文字が下から上に流れていくだけの単純なものです。
しかし、下から上に送る文字の量が多すぎる上に長いため、Flashの作業領域(グレー色の部分)を大幅に越えてしまいます。
結果、swfのムービープレビューでは下から上に文字が流れる際に、文字が何重にも重なって流れてしまう現象が起こります。
この現象を解消するために送る文字の量を分割して行っているのですがこの方法では、手間と時間がかかりすぎてしまいます。
故に、Flashの作業領域(グレー色の部分)を拡大して文字が重ならないで流れるよう考えているのですが作業領域の拡大が実際に可能なのかわかりません。また、それ以外の方法でうまく文字を下から上に送る方法があれば、御教授下さい。
  
よろしくお願い致します。

A 回答 (1件)

シンボルやテキストフィールドは際限なく大きくはできませんし、配置する際の座標空間にしても無限ではなく、当然ながら限度はあります。


文字が重なってしまうということは、その限度を超えているのだと思います。

限度はソフトの内部で決まっている規格ですから、これを広げたいというのは無理な注文です。
限度が決まっていてどうにもならないのなら分割して何とかするしかありませんが、大切なのは分割の仕方です。
分割すると1枚の絵を動かすように単純にはいきませんけれど、分割の仕方を工夫して手間と時間を省くことも可能です。


例えば、ステージの大きさが幅×高さ= 550 × 400 px として、スタッフロールがこれの3つ分の 550 × 1200 px だとします。
画面3枚分の大きなシンボルを用意して動かせれば話は簡単なのですが、それは Flash の限度に引っかかってまず無理だと思われます。

しかし、よく考えてみてください。
画面に映る範囲はステージ1つ分しかないのですから、予め3つ分の大きさの絵を用意しておかなければならない理由はありません。
また、1枚目がステージ上部にスクロールアウトした時は、この1枚目をいつまでも残しておく必要もないのです。


そうして考えていきますと、同時にステージに登場させる絵はステージ2つ分の大きさだけあれば用が足りることが分かります。
まず、3画面分のスタッフロールを、ステージサイズと同じ大きさの絵3枚に分割して作ります。
(縦スクロールの場合は高さだけ揃えてあれば幅は任意で構いませんが、説明の都合上、幅・高さともにステージと同じ大きさの絵に分割するものとして話を進めます)

1枚目の絵をステージの下端から上に向かってモーショントゥイーンで動かし、ステージとぴったり重なる位置まで移動させます。
1枚目がステージと重なった時点で、2枚目をステージ下端に待機させます。
1枚目は引き続きモーショントゥイーンでステージ上部に移動してスクロールアウトさせ、同時に2枚目もステージ上端に向かってトゥイーンで移動させます。
あとは同じ要領で、2枚目がステージと重なった時に3枚目をステージ下端に用意して、同じようにトゥイーンで動かしていけばいいのです。

絵は3枚とも同じ大きさ、特に高さを同じサイズに揃えておけば移動する距離が全て一定になり、トゥイーンのフレーム数も全く同じにして一定の速度でスクロールできます。
また、ステージと同じサイズの絵なら配置する際の座標も単純で、面倒な計算も不要です。
スタッフロールだとかなりゆっくりのスクロールになるでしょうからフレーム数は増えますが、モーショントゥイーンを使うので、フレーム数の割にはムービーの容量はそれほど大きくはなりません。

----------------------------------------------------------

同じ大きさのシンボルを作るには、背景用の四角形(ステージと同じ大きさの、塗りのない四角形)を描き、これを1番下のレイヤーに敷いておきます。
テキストはこの範囲内に配置すれば、シンボルはシンボル内で最も大きいオブジェクトである背景用の四角形と同じサイズになります。
背景用の四角形は複数のシンボルで使いますので、これもシンボルにしておくといいでしょう。
例えば写真をバックにスタッフの名前が流れていくようなスタッフロールの場合は、背景の四角形をアルファ0%にして透過してください。セル画に描かれた絵のようなもので、テキストだけが移動していくように見えます。

テキストはレイヤーを分け、背景の四角形の上に配置します。
デザインにもよりますが、一般的なレイアウトであれば、静止テキストをバラバラに作って配置するよりも、1つの大きな静止テキストを用意してこの中でレイアウトを考えると作業しやすいと思います。
似たような構成のシンボルを作るには、「ライブラリ」パネルでシンボルを複製すると便利です。


スタッフロールのパーツができたら、インスタンスをステージに配置してモーショントゥイーンで動かします。
1枚あたりのインスタンスの上端の動きに注目してください。
ステージの高さを 400 px としますと、インスタンス上端の座標は

 ・下端に待機する時 : Y= 400
 ・ステージと重なる時: Y= 0
 ・スクロールアウト時: Y= -400

と変化していきます。インスタンスがステージと同じサイズなら、左端は常にX= 0 です。
この通りに動くように、間をモーショントゥイーンでつなぎます。

インスタンスは「プロパティ」か「情報」パネルで座標を入力すると正確に配置できます。
この座標はオブジェクトの左上か中央のどちらかを扱えますが、今回は上端を基準に考えますので左上の座標を表示させます。
「情報」パネルに、小さい□が並んだ図形があります。
この図形の左上の□をクリックすると、「プロパティ」および「情報」パネルのX:とY:の項目にオブジェクトの左上の座標が表示されるようになります。
配置する時は、「プロパティ」もしくは「情報」パネルに左上の座標を表示した状態で、X:には常に 0 を、Y:にはトゥイーンのキーフレームごとに 400 ・ 0 ・ -400 のいずれかを入力してください。


どのシンボルも同じくステージのサイズで作ってありますから、配置する位置や移動速度(トゥイーンのフレーム数)はどれも同じで、ただ、ステージに登場するタイミングだけが異なります。
例えば1ステップあたり 100 フレームのトゥイーンとしますと、タイムラインの構成は次のようになります。

 フレーム 1 ~ 100 :
  ・1枚目を画面下端(Y= 400)からステージ上端(Y= 0 )に移動
  ・フレーム 100 で、2枚目を画面下端に待機させる

 フレーム 101 ~ 200 :
  ・1枚目をステージ外(Y= -400 )にスクロールアウト
  ・2枚目をステージ上端まで移動
  ・フレーム 200 で、3枚目を画面下端に待機させる

 フレーム 201 ~ 300 :
  ・2枚目をステージ外にスクロールアウト
  ・3枚目をステージ上端まで移動

 フレーム 301 ~ 400 :
  ・3枚目をステージ外にスクロールアウト


スクロールの速さや動きのなめらかさは、トゥイーンにかけるフレーム数とフレームレートで決まります。
全部作ってからスピード等を調整するのは大変です。
とりあえず1枚目を1画面分(上記の例だとフレーム 1 ~ 100 の部分)だけ動かしてみて適切なフレーム数に調整してから、残りのトゥイーンを同じフレーム数で作っていくと楽だと思います。
    • good
    • 0
この回答へのお礼

DPE様。
早速の御回答及びアドバイス等、ありがとうございます。Flash8の機能で、作業領域の拡大という項目をどこかで目にし(多分・・・)、FlashMXでも可能かと思い、少しそういった視点で考えていました。
しかし、領域の拡大は不可能とのこと。
分割し行うことそれが一番の方法であり、また作業内容の工夫の仕方によっては作業能率の短縮にもなると、今回の件でまた色々と勉強させていただきました。
ありがとうございます。
今回のアドバイスを参考に少し自分で頑張ってみます。
あちがとうございました。

お礼日時:2006/02/03 20:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報