У меня есть следующая проблема: я рисую форму в группе, которая будет использоваться в качестве маски. Затем я поворачиваю изображение в x, y, z, используя Rotate3D, и использую группу как маску изображения, но результат не то, что я хочу, потому что, как только Группа станет маской изображения, она также получает свое вращение. То, что я хочу достичь, состоит в том, чтобы получить часть повернутого изображения в соответствии с формой, которую я нарисовал. Как применить маску, не поворачивая ее? Или это можно сделать любым другим способом?Маска автоматически поворачивается при приложении к повернутому объекту
Вот код:
grpMask = new Group();
g = grpMask.graphics;
g.lineStyle(0, 0x00FF00);
g.moveTo(points[0].x, points[0].y);
g.beginFill(0x00FF00, .3);
for (var i:int; i < points.length - 1; i++)
{
g.lineTo(points[i + 1].x, points[i + 1].y);
}
g.endFill();
grpCanvas.addElement(grpMask);
Затем я imgTarget.mask = grpMask
. Для imgTarget были применены несколько эффектов Rotate3D, которые, к сожалению, передаются маске.
Как насчет делать что-то вроде этого: Поместите объект, который вращается в контейнере, а затем применить маску контейнер. –
Это, _did_ выполнить эту работу. Спасибо, Сунил Д.! Пожалуйста, ответьте на этот вопрос нормально, чтобы я мог отметить его как ответ. – kvist