- ベストアンサー
BitmapDataを利用したクロスフェードについて
- BitmapDataを利用したクロスフェードを作成するため、画面キャプチャを利用しフレームの切り替え時にクロスフェードさせるスクリプトを使用しています。
- main.swfに配置したボタンで、sub.swfを読み込み、表示していますが、クロスフェードがうまく行きません。
- ScreenEffect.asの一部を変更してもうまくいかないため、解決方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ご質問されているような問題点が確認できませんでしたので, 「それはこうすれば良い」というような解決方法はわかりません。 任意のフォルダ ├ main.swf(ボタンインスタンスを用意) ├ sub.swf(cfade.fla をパブリッシュしたもの) ├ cfade.fla(サンプルのFLAファイル) └ ScreenEffect.as(サンプルのASファイル) main.swf(main.fla)のボタンに, on (release) { loadMovieNum("sub.swf", 1); _level0._visible = false; } と書いてパブリッシュ。 SWF を開いても,同時にパブリッシュしたHTMLから見てもクロスフェードしました。 Windowsの場合は, ファイル名の大文字小文字を区別しないので, loadMovieNum("SUB.swf",1); のままでも OK でした。 本当は OK ではありませんが今回の本題とこの件は関係がないでしょう。 また, ScreenEffect.as の cover.attachBitmap( printScreen() , 1 ); の,「1」の部分を「2」に変えても変えなくても結果は同じで, どちらでもクロスフェードします。 深度ですから,適当に0とか1とか1000とか, 0以上の数字であれば何でも良いので関係ありません。 うまく行かない例はたくさんありすぎて書き切れませんが, パブリッシュ時に ScreenEffect.as が存在しない。 ScreenEffectと言うインスタンス名のMCを作成した。 var ScreenEffect = 25; など妙なものを宣言した。 …attachBitmap( printScreen() , 2 ); 以外の部分を変更した。 ActionScript1.0 でSWFをパブリッシュした。 …などなど… が考えられます。 つまり, ご質問では 一切書かれていらっしゃらない部分 に原因があると思います。 一度,シンプルに最初から, 配布されている「ScreenEffect.zip」を任意のフォルダに解凍し, そのフォルダ内のサンプル「cfade.fla」をFlashで開いてそのままパブリッシュし, 新規で任意のドキュメントファイルを同じフォルダに作成して, ActionScript2.0 FlashPlayer8 のパブリッシュ設定にして, ステージ上にボタンを作成して, そのボタンに on (release) { loadMovieNum("cfade.swf", 1); _level0._visible = false; } と書いてパブリッシュされてみてはいかがでしょうか? 何も問題なく動作すると思いますが。
お礼
ご回答ありがとう御座います! 以下の部分が参考となり、出来ました!有り難う御座います! >うまく行かない例はたくさんありすぎて書き切れませんが, > ScreenEffectと言うインスタンス名のMCを作成した。 sub.swfで”ScreenEffectと言うインスタンス名のMCの作成”はしておりませんが、 main.swfでもScreenEffect.asを使用していたため、 sub.swfで使うScreenEffect.asの名前をScreenEffectSub.asにするとmain.swfから読み込んだsub.swfでもクロスフェード出来ました! main.swfでもScreenEffect.asを使用していたことを書いていなくて申し訳御座いませんでした。 今後、ご質問をさせて頂く場合にはもっと気をつけます! ご回答有り難う御座いました^^