首先介绍Egret的锚点:
在Egret中,被旋转的物体的实际位置不仅受到自身的坐标X和Y的影响,同时也受到锚点的AnchoroffsetX和AnchoroffsetY的影响。Egret的锚点,是指物体本身的一个位置点,一般用于物体的旋转和放大。x锚点设置为50%,表示从物体的左右方向的中间位置取点,
在物体坐标X、Y固定不变时,比如x=100, y=100,物体的默认锚点为数字0 , 0 .即在物体本身的左上角,如果这时改变物体的锚点AnchoroffsetX=50,物体的实际x坐标位置也会随之改变。即左移50
Egret的默认锚点在被旋转物体本身的左上角,而css3中,transform-origin默认在元素中心。
现在直接上干货:
//a为物体,x、y为物体的位置,anchorOffsetX后,原位置会被修改为:
a.x = a.x - a.anchorOffsetX;/即原固定位置实际上左移了a.anchorOffsetX
a.y = a.y - a.anchorOffsetY;
//如果更改锚点后,而不希望改变物体位置,则需要如下设置:
a.x = a.x + a.anchorOffsetX;
a.y = a.y + a.anchorOffsetY;
好了,这样设置的话,就能改变物体的锚点而不改变物体的实际位置。不会再出现锚点和位置互相影响变化的问题啦~