プロが教える店舗&オフィスのセキュリティ対策術

シーン内にスクロールさせて表示させる文章を、表示させたい部分にのみマスク処理を施しました。

表示には問題がないのですが、マスクサイズを変更するとマスクされた文字が表示されなくなってしまします。

これは何が原因なのでしょうか。
ご存知の方がいらっしゃったら教えてください。
よろしくお願いします。

アプリケーション:FLASH MX 2004
OS:Windows XP SP2

A 回答 (1件)

状況がわからないので,「確かにそうなる」という検証すらできませんね。


検証ができない(現象が再現できない)ので,原因もわかりません。
原因がわからないので,解決策も見つかりません。



たとえばです。
ステージ上に

 あいうえお
 かきくけこ
 さしすせそ
 たちつてと
 なにぬねの
 はひふへほ

と入力したダイナミックテキストのテキストフィールドを用意し,
そのテキストフィールドをムービークリップに変換して,
そのムービークリップに,たとえば「text_mc」というインスタンス名を付けたとします。

その上のレイヤーにでも

 あいう
 かきく
 さしす

だけがかぶさるような塗りの矩形を描き,
基準点を左上としたムービークリップに変換し,
そのムービークリップに「mask_mc」というインスタンス名を付けたとします。

その上のレイヤーのフレームにでも次のスクリプトを書いたとます。

-----------------------------------------------
// 「text_mc」に「mask_mc」のマスクをかける
text_mc.setMask(mask_mc);

// 1フレーム進む時間ごとに毎回実行
this.onEnterFrame = function() {
// 「mask_mc」 の横幅を 1px ずつ拡大
mask_mc._width += 1;
// 「text_mc」 のy座標を 1px ずつ上へ
text_mc._y -= 1;
};
-----------------------------------------------

※ 以上,【下の図】↓を参照のこと。


上記の状態でムービープレビューやパブリッシュをすると,
文字(あいうえお…)は上にスクロール移動しますし,
その文字が見える範囲も拡大します。



> マスクサイズを変更すると
> マスクされた文字が表示されなくなってしまします。

いったい何をどのようにされたのでしょうか?
その方法に問題があるような気がしますが,
その方法を一切書かれていらっしゃらないので判断のしようがありません。

たとえば上の例では,マスクの横サイズを1pxずつ大きくしていますが,
マスクの横サイズを0pxに変更したならば,当然ですが文字は見えなくなります。

また「マスクサイズを変更する」という受けとり方も,
・ステージ上の手動操作でマスクのサイズを拡大しただけ
・ステージ上の手動操作でマスクの塗りを拡大しただけ
・モーショントゥイーンでマスクのサイズを除々に拡大した
・シェイプトゥイーンでマスクの塗りサイズを除々に拡大した
・ActionScriptでマスクのサイズを拡大した
  …などなど…
色々な取り方ができます。これも特定ができません。



 「スタート」→「すべてのプログラム」→「Macromedia」
 →「Macromedia Flash MX 2004」をクリックしてソフトを起動させ
 新規ドキュメントを作成し … …

などと逐一全部を書かれると,逆にわかりにくくなってしまいますが,
「要所だけを "なるべく具体的に" 記述」してもらう方が良いです。
「マスクのサイズを変更すると対象の文字が表」の回答画像1

この回答への補足

説明不足ですいません。
1フレーム目だけのFLASHを制作しています。その中にNo.1さんの例を引用
させていただきますと

 あいうえお
 かきくけこ
 さしすせそ
 たちつてと
 なにぬねの
 はひふへほ

と文章があるとしたら

 あいうえお
 かきくけこ
 さしすせそ

だけをマスクして表示させています。マスクの横にはスクロールを付けて
いるのでスクロールをさせると

 さしすせそ
 たちつてと
 なにぬねの
 はひふへほ

の部分が表示されるようになっています。
今回の質問は、このマスクサイズを変更するとこれらの文章が全く表示
されなくなるので、その原因が何かを質問しました。

ちなみに文章は静止テキストで作成し、ムービークリップで1フレーム目
に配置しています。

よろしくお願いします。

補足日時:2009/11/17 22:18
    • good
    • 0

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