使用 x y 作为中心的 flex 3 组件,而不是左上角 [英] flex 3 component using x y as center, not topleft
本文介绍了使用 x y 作为中心的 flex 3 组件,而不是左上角的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
How can I extend components like buttons to use x and y value as the center of the component, not the top left?
解决方案
It's pretty easy in Flex 4 :). They have a transformAround
method in the UIComponent, that allows you to transform the position/scale/rotation of a component around any arbitrary pivot. So you could do this:
override public function set x(value:Number):void
{
var pivot:Vector3D = new Vector3D(this.width/2, this.height/2, 0);
var translation:Vector3D = new Vector3D(value, this.y, this.z);
transformAround(pivot, null /* scale vector */, null /* rotation vector */, translation);
}
You could customize/optimize that, but that's the jist :).
If you're using Flex 3, then I'd look into how they did that. It's pretty hardcore, lots of Matrix/Matrix3D stuff.
这篇关于使用 x y 作为中心的 flex 3 组件,而不是左上角的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文