• ベストアンサー

FlashLiteでマスク処理

いつもお世話になっております。 今回FlashLiteでマスク処理をしたのですが、うまくいきません。 内容ですが、 静止テキストをムービークリップに変換してそれにマスクを適用しました。動きとしては ムービークリップをフレームアクションで右から左に移動させてその一部だけを見せるという処理なのですが、ムービープレビューするとムービークリップは始めから消えたままで表示されません。 説明がわかりにくいかもしれませんが、よろしくお願いいたします。

  • Flash
  • 回答数1
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
noname#35109
noname#35109
回答No.1

テキストは,間違いなく静止テキストになっていますか? ダイナミックテキストやテキスト入力では,うまく行きませんよ。 また静止テキストでも「_等幅」とか「_ゴシック」とかのように, 前に「_(アンダーバー)」の付いたデバイスフォントを指定されていたら同じくうまく行きません。 テキストの設定を,間違いなく「静止テキスト」でデバイスフォント以外(以外が大多数です)を選択してください。 そうすればうまく行くと思います(やってみましたがうまくいきました)。 ------------------------ Flash Lite では,setMask が使えないので, もし,ダイナミックなどにマスクをかけたい場合は, テキストの上レイヤーに白い大きな塗りでも用意して, その塗りで,テキストを表示させたい部分だけくり抜くしかありません。 つまり,マスクとは反対にするのです。 黒い ■ が塗りであるとすると,次のような感じでしょうか。  マスクの場合↓  □□□□□□□□□□□□□□□□□□  □□□■■■■■■■■■■■■□□□  □□□■■■■■■■■■■■■□□□  □□□□□□□□□□□□□□□□□□  テキストを表示させたい部分だけくり抜いた場合↓  ■■■■■■■■■■■■■■■■■■  ■■■□□□□□□□□□□□□■■■  ■■■□□□□□□□□□□□□■■■  ■■■■■■■■■■■■■■■■■■ しかし, 文字を見せたい部分だけ,上レイヤーの塗りをくり抜いた場合は, 文字の下に複雑なものを置いた状態では,それら複雑なものまで見えなくなるので, あまり良い方法とは言えないかもしれません。 やはり,最初に書いたように, 「静止テキスト」で「デバイスフォント以外」にする方が良いと思います。

muku101681
質問者

お礼

まさにテキストにデバイスフォントを使用していました。 FlashLiteでは容量を下げるためにデバイスフォントをできれば使用したいと思っていますので大きい塗りでカバーをかける方法でやってみます! デバイスフォントにマスクは適用できない事は今までに読んでる書籍等には書いていなかった事なのでとても勉強になりました! ありがとうございます。

関連するQ&A

  • flashlite1.1の違う階層にある変数の使いかたを教えてください

    flashlite1.1の違う階層にある変数の使いかたを教えてください! flashlite1.1で携帯サイトをつくっています。 変数をルートの1フレーム目に置いたとして、違う階層からその変数はどうやって 使ったらいいのでしょうか。色々やってみましたが上手くいきません… どうしたらいいのが教えてください。 ※変数はフェードインを行うためのアルファの値にしています。 まず始めにルートに aa=30; と書きました。そしてルートに配置しているムービークリップの中のレイヤーの1フレーム目に _alpha=0; 2フレーム目に tellTarget("../"){ trace(aa); } _alpha+=aa; 3フレーム目に gotoAndPlay(2); と書きました。トレースの値は30が出力されます。なのに画面は真っ白なままです。 2フレーム目に書いた _alpha+=aa; の「aa」の部分に30という文字を入れたら、フェードインができます。 これは変数の数値をトレースできても、使い方が間違えている、ということなのでしょうか…? とても困っています。 おわかりになる方、教えてください!!!

  • マスクレイヤー配下でのアクションに関して

    以前も同様の質問をしましたが、再度お伺いします。 マスクレイヤー配下のレイヤーにムービークリップを作成しました。 そのムービークリップは複数のムービークリップ(サムネイル画像)を一つにしたものです。 そのムービークリップ内のレイヤーにフレームスクリプトを記述しました。 ・ムービークリップを「aa」と命名する。 ・その配下の各ムービークリップを「a1」,「a2」・・・とする。 aa.onPress = function() { ステートメント } 上記「ステートメント」部に「シーン1(level0)の10フレームにジャンプする」と言うScriptを記述するにはどうしたら宜しいでしょうか?。 _root.gotoandplay(10) ; 上記記述では駄目でした。 ちなみに、「シーン1(level0)」のフレームアクションにて aa.a1.onPress = function() { gotoandplay(10) ; } これはOKでした。(このような修飾の仕方は正しいですか?。) ムービーシンボルの中のフレームアクションでの記述方法を教えて頂きたく。 どうぞ宜しくお願い致します。

  • FlashLite getURL

    お世話になります。 FlashLite1.1にて、 value1 = "ほげほげ1"; value2 = "ほげほげ2"; getURL( "http://xxx", "_blank", "GET"or"POST" ); で、データを送信しています。 (1)このとき渡される変数は、どの範囲まで渡されるのでしょうか?  別のムービークリップに同名の変数があった場合など・・・ (2)"_blank"でターゲットを指定していますが、  一見無意味なこの処理を省略するとうまくいきませんでした。  理由がわかるかたいらっしゃいますでしょうか? 以上、よろしくお願いいたします。

  • ムービーファイルに書き出し

    例えば、ボールが右から左へ動くアクションスクリプトを書いたとします。 これをムービーファイルに書き出しするにはどうすればよいのでしょうか(最終的にはDVDに焼きたいと考えています)。 試しに、ボールが右から左へ動くアクションスクリプトを書いて、ファイルメニュー > 書き出し > ムービーの書き出し でQuickTimeビデオで保存してみたのですが、止まった状態のボールが表示されるだけで動きは全くついていません(タイムラインにフレームの投入で何もないフレームを入れてみましたがボールは静止状態でした)。 ASでつけてアニメーションをMovieとして保存するにはどのようにすればよいでしょうか? ご教授いただきたく思います。よろしくお願いします。 Flash8 MacOS X 10.3 環境です。

    • ベストアンサー
    • Flash
  • ムービークリップを一定時間ごとに実行したい。

    ムービークリップを読み込むと、タイムラインに関係なく動き続けるかとおもいますが、それを時間、もしくはフレームごとに動きを止めて再度動かすような動きはスクリプトでどのようにかくのでしょうか? 作りたいアクションは、画面左からスライドして入ってきて、真ん中で減速しながら停止、3秒ほど待って、今度は加速しながら画面右にスライドしていく動きを作りたいです。 flashMx2004、windowsXPです。

    • ベストアンサー
    • Flash
  • FlashLite4.0について

    いつもお世話になっております。 FlashLite4.0についてお聞きしたく存じます。 以下のようにFlashLite4.0でコードを書き勉強中です。 (Flashも始めたばかりなのですが。) example.fla(アクションフレーム) -------------------------------------------------- stop(); import com.Example; var example:Example = new Example; com/Example.as -------------------------------------------------- package com {  import flash.display.Sprite;  public class Sample08 extends Sprite {   public function Sample08() {    init();   }   protected function init():void {    var time:Time = new Time;    addChild(timeView);   }  } } com/Time.as -------------------------------------------------- package com {  import flash.display.MovieClip;  public class TimeView extends MovieClip {   public function Time() {    // これが出力されると思っております。    trace("time");   }  } } パブリッシュをすると「time」が出力されると考えていたのですが出力されません。 また、flashLite4.0で動的にテキストを出力するにはどうしたらよろしいでしょうか。 ご教示よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • ムービークリップの入れ子

    Flash CS3の初心者です。ムービークリップの入れ子を使用した際、こちらが思うようにフレーム処理をしてくれません。 "TOP"と名前をつけた1つのシーンに「アクションスクリプト」、「画像」、「テキスト」の3つのレイヤーを準備し、「画像」レイヤーには入れ子になったムービークリップを挿入しています。 入れ子のムービークリップに仕込んだモーショントゥイーンが終わってからテキストを表示する処理をしてほしいのですがうまくいかず困っています。 <作業内容> (1)画像レイヤーにはモーショントゥイーンを仕込んだムービークリップを1フレーム目から挿入しています。(作業場所:TOP/) (2)順序付けのためテキストレイヤーは1フレーム目は空白にし、2フレーム目から挿入しています。(作業場所:TOP/) (3)アクションスクリプトのレイヤーには1フレーム目と2フレーム目にはそれぞれ以下の記入をしています。(作業場所:TOP/)  this.stop(); (4)画像レイヤーに挿入したムービークリップでは、入れ子のムービークリップのレイヤーの他にアクションスクリプトのレイヤーを設け、その最終フレームでは"this.stop();"、"gotoAndPlay(2,"TOP");"と記入しています。(作業場所:TOP/画像ムービークリップ) <問題> (1)~(4)でムービープレビューを実行すると、入れ子にしたムービークリップのモーショントゥイーンは最後までうまくいきますが、(4)の"gotoAndPlay(2,"TOP");"がエラーとなり、「ArgumentError: Error #2108: シーン TOP が見つかりません。・・・」となってしまいます。 シーン名はウィンドウのシーンパネルで確かにTOPに変更しています。ちなみに"TOP"をthis.parentに変更して実行すると、3つのレイヤーの処理が同時にスタートしてしまいます。 最初に記載した動作の実現方法や参考HPについてご教授頂けると大変助かります。よろしくお願いします。

    • ベストアンサー
    • Flash
  • flashでの流れる背景

    flashについて教えてください。 背景が流れるムービーを作成したく、背景(雲、木、道路など)が左から右へ動く一つのムービークリップにし、マスクをかけました。 背景が流れるようには見えるのですが、背景のムービークリップをループさせているため、最初の1フレームに戻るときに戻っている事が解るのです。 スムーズじゃないと言うのでしょうか・・。 同じ単純な模様とかだとスムーズに見えるのでしょうが、イラストのため同じ模様じゃなく悩んでいます。 何か方法がありましたら、教えて頂けませんでしょうか。 よろしくお願いします。

  • イージング&アルファが上手くいかない

    FlashMXで「再生」ではちゃんとイージングとアルファができているのに、ムービープレビューでは上手く表示できません。 ボタンを押すと、アクションスクリプトで次のフレームに飛び、そこからイージングとアルファで施された文字(ムービークリップシンボル)が動くと言うものなのですが…。何がいけないのかお分かりの方はお教え下さい。

  • onEnterFrameで、条件を満たしたときにその処理から抜けたい。

    下のプログラムをフレームに書きました。そうすると、一応は重いどおりにうごいて、_alphaが増えていきphotoとなずけたがムービークリップが見えるという動きはできるのですが、問題は、traceさせてみるとずっと100、100と記述されます。できればこの処理から抜けて、traceで100と出てこないようにしたいです、なにか処理が重たそうなので。フレーム移動して処理抜けるのはできるかもしれませんが、できれば1フレームで終わらしたいなとおもっています。よろしくお願いいたします。バージョンはflashMX2004です。 this.onEnterFrame = function(){ if(photo._alpha >= 100){ photo._alpha = 100; trace(photo._alpha); }else{ photo._alpha += 5; } }

    • ベストアンサー
    • Flash

専門家に質問してみよう