请帮我解决一个大问题。
我需要从中心旋转布局(火花组件组),我可以从中心旋转它。但是一旦我旋转它,它的全部给我jadgy边缘。就像我旋转图像一样,我可以将其位图平滑设置为true,这样就不会出现jadgy边缘。但是在小组中没有平滑变量请告诉我如何实现这一点。
var rotateMatrix:Matrix = group_icons.transform.matrix;
var rotatePoint:Point =
rotateMatrix.transformPoint(
new Point((515/2), (515/2)));
rotateMatrix.translate(-rotatePoint.x, -rotatePoint.y);
var num : Number = getAngleFromMouseCoord(mouseX , mouseY , new Point(0,600) ) ;
/* if(currentAngle != 0 && currentAngle > num)
{
currentAngle = num ;
num = -num ;
}
else
currentAngle = num ; */
if(direction == true )
rotateMatrix.rotate(num/30);
else
rotateMatrix.rotate(-num/30);
rotateMatrix.translate(rotatePoint.x, rotatePoint.y);
group_icons.transform.matrix = rotateMatrix ;
我在ENTER_FRAME事件上调用此函数。
答案 0 :(得分:0)
查看将cacheAsBitmap设置为true有助于:
group_icons.cacheAsBitmap = true;
如果没有,你总是可以将组绘制成位图并显示,但它的子节点不会是交互式的。
var bmdData:BitmapData = new BitmapData(group_icons.width,group_icons.height,true,0x0000000);
bmdData.draw(group_icons);
var bmp:Bitmap = new Bitmap(bmdData,"auto",true);
// apply transformations to the bmp here
var uicomponent:UIComponent = new UIComponent();
uiComponent.addChild(bmp);
someUIElement.addElement(uicomponent);
您需要使用UIComponent包装位图以将其添加到Flex组件。