マスクオブジェクトは複数オブジェクト間で共有できない
できないみたいです。探してみればどこかに書かれてそうですが、メモ。
package { import flash.display.Shape; import flash.display.Sprite; public class MaskTest extends Sprite { public function MaskTest() { x = 100; y = 100; var maskSh:Shape = new Shape(); // 100×100四角形 var sh1:Shape = new Shape(); // 半径30の丸 sh1.mask = maskSh; var sh2:Shape = new Shape(); // 半径30の丸 sh2.x = 100; sh2.mask = maskSh; var sh3:Shape = new Shape(); // 半径30の丸 sh3.y = 100; sh3.mask = maskSh; var sh4:Shape = new Shape(); // 半径30の丸 sh4.x = 100; sh4.y = 100; sh4.mask = maskSh; addChild(maskSh); addChild(sh1); addChild(sh2); addChild(sh3); addChild(sh4); } } }
結果(マスク位置は赤線の四角形)
一つしかマスクされませんでした。