トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     逆にマスクしたい
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
とんび
Åê¹ÆNo.38795
投稿日時: 2008-5-13 23:04
Bak@Fla大巨匠
居住地: 佐賀県 杵島郡
投稿: 275
使用環境:
MX
CS3
:Flash CS6:CS6
.7.5
逆にマスクしたい
 DisplayObjectのmaskって、グラフィックが「ある場所を表示して、無い場所を表示しない」のですが、その逆でグラフィックが「無い場所を表示して、ある場所を表示しない」マスクってできないものでしょうか?
 なんというか、マスク図形で他の図形を切り取るようなイメージです。


----------------
鳶嶋工房

とんび
Åê¹ÆNo.38811
投稿日時: 2008-5-14 23:20
Bak@Fla大巨匠
居住地: 佐賀県 杵島郡
投稿: 275
使用環境:
MX
CS3
:Flash CS6:CS6
.7.5
Re: 逆にマスクしたい
 次のようなスクリプトで画像を作ると、重なった部分が抜けた画像が生成されます(なんで重なった部分が抜けるかということも良く分からないですが…)

var g:Graphics =this.graphics;
g.beginFill( 0xff0000 );
g.drawRect( -100 , -100, 200, 200 );
g.drawRect( 0 , 0, 200, 200 );
g.endFill();


 これをフレームスクリプトに書いた1フレームだけのMCをマスクに指定しても、中の透明に見えているはずのところまでマスクとして適用されてしまいます。
 例えば、そのMCを_mcとして、一つ上のフレームスクリプトで次のようなスクリプトを書くわけです。

mask = _mc;


 全く同じような図形を、スクリプトではなく、オーサリングで描いて、スクリプトでmaskに指定すると、中の抜けた部分は見た目通りマスクになりません。

 …どういうこと?


----------------
鳶嶋工房

とんび
Åê¹ÆNo.38848
投稿日時: 2008-5-16 19:45
Bak@Fla大巨匠
居住地: 佐賀県 杵島郡
投稿: 275
使用環境:
MX
CS3
:Flash CS6:CS6
.7.5
Re: 逆にマスクしたい
 ブレンドモードを使えば「逆マスク」できました。通常のマスクと比べると重くなりそうですけど。

 いまだにFlash MX気分が抜けず、カラー以外に、ブレンドとかフィルタとかの機能が付いているということが意識にありませんでした。
 今後便利に使えそうなので、よく調べておくことにします。

参考
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/display/BlendMode.html
http://www.trick7.com/blog/2007/04/06-083039.php


----------------
鳶嶋工房

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops