ステージ全体にマスクを
AS3.0を使ってステージのサイズと同じ長方形を描画し、それをマスクにすることでステージ外を表示しないようにしたいです。new Spriteで何とかなりそうだと思ったのですが、ステージと同じサイズの長方形を描く時点で挫折しました。
そこで、ムービークリップを作ってその中に長方形を描き、それを拡大(あるいは縮小)してからマスクにするのはどうだろうと考えましたが、ステージ全体にマスクをかける方法が分かりません。
アドバイス、よろしくお願いします。
(よりよい方法をご存知の方も、是非お願いします)
No.1ベストアンサー
- 回答日時:
ステージ(Stage / stage)にマスクをかけることはできません。
ヘルプ(ActionScript 3.0 言語およびコンポーネントリファレンス)で
mask を検索すると出て来る Stage のページにも
次のように書いてあります。
> 以下に示す継承プロパティは
> Stage オブジェクトに適用できません。
> これらを設定しようとすると、
> IllegalOperationError がスローされます。
> これらのプロパティは読み取ることはできますが、
> 設定することはできないため、
> 常にデフォルト値となります。
>
> ・ accessibilityProperties
> ・ alpha
> ・ blendMode
> ・ cacheAsBitmap
> ・ contextMenu
> ・ filters
> ・ focusRect
> ・ loaderInfo
> ・ mask
しかし ステージ(Stage/stage)ではなく,
root であればマスクをかけることはできます。
したがって 「いわゆるステージ全体」 にはマスクをかける ということはできると思います。
root とは,
この場合の Flash を起動して新規ドキュメントを作成したときに
すぐに見えるタイムライン(メインタイムライン)のことです。
その root のタイムラインのフレームに書くスクリプト例↓
----------------------------------
//マスクとなる矩形塗りを用意
var myMask:Shape = new Shape();
myMask.graphics.beginFill(0xFF0000);
myMask.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
myMask.graphics.endFill();
//マスクとなる矩形塗りをstageに配置
//(矩形の座標をstageの左上で固定するため)
stage.addChild(myMask);
//root(stage の子0) に myMask のマスクをセット
stage.getChildAt(0).mask = myMask;
//↓上記の代わりにこれでも良い
//root.mask = myMask;
//↓また これでも良い
//this.mask = myMask;
----------------------------------
上記スクリプトの内容は
stage の直下に Shape(シェイプ) を配置し
root に Shape のマスクをかけるということです。
つまり
スクリプトによってムービーの構造を次のように変えたということです。
・スクリプト実行前の構造↓
stage
└root ( stage.getChildAt(0) )
・スクリプト実行後の構造↓
stage
├myMask (矩形のシェイプ)
└root ( stage.getChildAt(0) )
↓そして↓
root に myMask のマスクをかける
まったくの勘違いをしていました。
あろうことか、rootが使えなくなったのかと思っていたのです^^;
正直なところ、ヘルプからの引用文は半分も理解できていませんが、方法自体は丁寧に解説して頂いたので良くわかりました。
大変丁寧に教えていただき、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 憲法・法令通則 マスクのお話 マスクは今推奨という形です。 「推奨(すいしょう)」は「物事や人物の優れている部分をあ 6 2022/04/25 12:49
- ディスカウントストア・ドラッグストア 小さめでおすすめのマスク教えてください。 私はダイソーに売ってる不織布マスクの小さめサイズ袋入りを使 1 2023/02/06 19:07
- 日用品・生活雑貨 マスクの顎下が余る人、(下顎よりもマスクの顎下部分の方が長い)って、顔大きいというか、顎が長い大きい 1 2022/10/16 10:18
- ライブ・コンサート・クラブ ZeppHanedaの見え方につきまして 1 2022/11/03 12:33
- がん・心臓病・脳卒中 統合失調症の薬と子宮体ガンの手術を拒否続ける妹に困り果ててます。 3 2022/08/07 15:58
- カップル・彼氏・彼女 彼への想い 3 2022/11/22 01:46
- 邦楽 トライセラトップスの和田氏が、泥酔したままステージに上がるミュージシャンを酷評してました。 誰のこと 1 2022/05/02 21:18
- パチンコ・スロット パチンコのステージ性能とは何ですか?ステージって日によって形が変わるものなんですか? 1 2023/03/23 23:59
- 画像編集・動画編集・音楽編集 ワード。頂点の編集。 4 2022/09/28 14:14
- X(旧Twitter) Twitterをやめるか続けるか悩んでます。 闘病中のアカウントで、ずっと励ましあいながら、続けてき 1 2022/10/23 11:51
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Photoshop】レイヤー効果の境...
-
photoshopで書いた四角の枠の中...
-
テキストボックスの中身をリセ...
-
【VB.NET】別Formのボタンが押...
-
五芒星は、悪魔崇拝とどういう...
-
シンボル化解除の方法
-
CreateDialogについて
-
C# chart controlの透過について
-
static関数がmapファイルに載ら...
-
FlashからPHPへの変数の渡し方...
-
FLASH上で日数カウントダウン
-
アセンブリ言語のcasl2について...
-
マウスアウトしているのに、マ...
-
スクロールさせたテキストをボ...
-
python ボタンを押すと複数の関...
-
○秒間実行 AS3
-
縦横比率のを変えずに画像のサ...
-
tweenerを使ったスライドショー
-
VBAで改行の入ったデータの正規...
-
アドビ フラッシュ CS3 「だ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
photoshopで書いた四角の枠の中...
-
【Photoshop】レイヤー効果の境...
-
ステージ全体にマスクを
-
マスクにグラデーションをかけ...
-
目と言う文字を記号で作る
-
場面が移り変わるときかっこよ...
-
Photoshopの基本的な参考書を...
-
【Flash】マスクでスポットライ...
-
ポップアップ
-
Suzukaで一行ニュースティッカ...
-
プログラミング、アーキテクチ...
-
YOASOBI
-
VBScriptでMsgBoxのYesNoボック...
-
テキストボックスの中身をリセ...
-
五芒星は、悪魔崇拝とどういう...
-
VBAで改行の入ったデータの正規...
-
python ボタンを押すと複数の関...
-
else if文の順序を変えることに...
-
テキストボックスにセルの値を...
-
ipconfig /releaseって何ですか?
おすすめ情報