如何调整在actionscript中创建的对象的大小,使原点保持在中心位置

如何调整在actionscript中创建的对象的大小,使原点保持在中心位置,actionscript,resize,Actionscript,Resize,实际上,我正在使用actionscript在Flash中创建对象。目前,我在actionscript中调整对象大小时遇到了一个问题,但由于参考点似乎位于左上角,因此收缩时的对象似乎也会移向屏幕的左上角 有没有一种方法可以使用代码将对象的原点编码到对象的中心,或者在不移动的情况下调整其大小 我创建和调整对象大小的代码是这样的(它会增长和收缩,但目前我只是想在继续之前解决这个问题): 更改宽度和高度时,不能更新x和y blob1.x += deltaWidth / 2 blob1.y += delt

实际上,我正在使用actionscript在Flash中创建对象。目前,我在actionscript中调整对象大小时遇到了一个问题,但由于参考点似乎位于左上角,因此收缩时的对象似乎也会移向屏幕的左上角

有没有一种方法可以使用代码将对象的原点编码到对象的中心,或者在不移动的情况下调整其大小

我创建和调整对象大小的代码是这样的(它会增长和收缩,但目前我只是想在继续之前解决这个问题):


更改
宽度和
高度时,不能更新
x
y

blob1.x += deltaWidth / 2
blob1.y += deltaHeight / 2
您将宽度和高度增加5,因此
deltaWidth=5
deltaHeight=5


注意:
deltaWidth/2
不会等分,因此会有轻微的偏移。我建议使用
deltaWidth=6
deltaHeight=6
,或者类似的东西;经理。
最后我的解决方案有点奇怪。我将形状分成四个四分之一,然后通过将对象放在同一位置并旋转它们(当它从左上角旋转时,四个四分之一形成一个完整的形状,每个四分之一的左上角位于“对象”的中心)在瞬间重新连接它们。然后我立即调整了它们的大小,以便正确地执行


奇怪的是,右上角和左下角需要与其他两个角不同的数学运算。这毫无意义。需要调整的2个角的宽度和高度。其他两个角只需要调整宽度。非常奇怪,但有效://

根据deltaWidth和DeltaHight,他指的是w/h增量,在OP的代码中是5。当我还是一名flash开发人员时,我经常使用它,它工作得很好。
blob1.x += deltaWidth / 2
blob1.y += deltaHeight / 2