Flash で非常に奇妙な動作に遭遇しています。Flash IDE で、関連付けられたマスクを使用してシェイプを作成し、保存してから、swf としてエクスポートする場合、マスクが存在することをプログラムで認識できません (displayObject.mask が null です)。
これを証明する簡単なテスト スクリプトを次に示します。
//executed on enter_frame with the root object
function test(d:DisplayObject) : Void
{
if (Std.is(d, DisplayObjectContainer))
{
var s:DisplayObjectContainer = cast d;
for (i in 0...s.numChildren)
test(s.getChildAt(i));
}
if (d.mask != null)
trace("FOUND " + d.name);
}
haxeなので構文は少し異なりますが、Vanilla AS3でも同じように表示されます
マスクが見つからなかった痕跡!マスクが取り付けられている場合を別の方法で処理する必要があるだけなので、この奇妙な問題の方法/回避策はありますか?