書き物

技術とか作った物の話とか愚痴文句感想など

マスクオブジェクトは複数オブジェクト間で共有できない

できないみたいです。探してみればどこかに書かれてそうですが、メモ。

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);
}
}
}

結果(マスク位置は赤線の四角形)

f:id:asahiufo:20071015000541p:image

一つしかマスクされませんでした。