2014年4月23日水曜日

【AS3】DisplayObjectにマスクをかける注意点

ちょっとハマったので、備忘録。

Spriteなどにマスクをかける時にマスクが反映されない時がありました。


// ゲージのようなものを作る時に、マスクが必要になりました
var mask:Shape = new Shape();
g = mask.graphics;
g.beginFill(0xffffff);
g.drawRoundRect(0, 0, _GAUGE_WIDTH, _GAUGE_HEIGHT, _GAUGE_ELLIPSE * 2);
g.endFill();

var gaugeContainer:Sprite = new Sprite;
gaugeContainer.mask = mask;
gaugeContainer.addChild(mask);    // ←mask自体をaddChildしないと反映されませんでした