flash如何将scaleX事件传递给它&x27;孩子们

flash如何将scaleX事件传递给它&x27;孩子们,flash,actionscript-3,Flash,Actionscript 3,有人能告诉我,或者让我读一下ScaleX/ScaleY事件是如何传播到display对象的子对象的吗?我想在某个点介入,并“重新缩放”刚刚使用其父对象缩放的显示对象的一个子对象。我找不到任何触发的事件,并且ScaleX和width setter似乎没有在子对象上被调用。我正在FlashBuilder中处理一个ActionScript项目(不是Flex)。scaleX、宽度、高度等都是同步操作,没有触发事件。如果必须在setter中捕获它,请尝试在子组件中重写setter 我试过了,但它似乎不起作

有人能告诉我,或者让我读一下ScaleX/ScaleY事件是如何传播到display对象的子对象的吗?我想在某个点介入,并“重新缩放”刚刚使用其父对象缩放的显示对象的一个子对象。我找不到任何触发的事件,并且ScaleX和width setter似乎没有在子对象上被调用。我正在FlashBuilder中处理一个ActionScript项目(不是Flex)。

scaleX、宽度、高度等都是同步操作,没有触发事件。如果必须在setter中捕获它,请尝试在子组件中重写setter

我试过了,但它似乎不起作用,如果父DisplayObject的属性被修改,它的子组件就不会被触碰。我想这是有道理的


如果您可以访问父组件,那么您可以在那里拦截setter。

scaleX、width、height等都是同步操作,没有触发事件。如果必须在setter中捕获它,请尝试在子组件中重写setter

我试过了,但它似乎不起作用,如果父DisplayObject的属性被修改,它的子组件就不会被触碰。我想这是有道理的


如果您有权访问父组件,那么您可以在那里拦截setter。

如前所述,没有调整大小的事件,子组件与其父组件一起缩放(预期行为)

如果希望缩放容器,并使内容子项在屏幕上保持相同大小,则必须循环子项,并对每个子项执行以下操作之一:

  • 应用用于缩放容器的变换矩阵的逆矩阵
  • 按1/比例缩放,其中比例是父比例乘以的因子

父对象上的缩放更改会更改其整个坐标空间,因此如果您希望您的子对象保持相同的大小,并且与父对象的(0,0)点保持在相同的位置,则还需要将1/缩放应用于其x和y位置。

如前所述,没有调整大小事件,孩子们和他们的父母(预期的行为)一起伸缩

如果希望缩放容器,并使内容子项在屏幕上保持相同大小,则必须循环子项,并对每个子项执行以下操作之一:

  • 应用用于缩放容器的变换矩阵的逆矩阵
  • 按1/比例缩放,其中比例是父比例乘以的因子

父对象上的缩放更改会更改其整个坐标空间,因此,如果您希望您的子对象保持相同的大小,并且与父对象的(0,0)点保持在相同的位置,则还需要将1/缩放应用于其x和y位置。

要扩展触摸,在缩放某个对象时,这不是一个在任何地方传播的事件。所发生的一切就是Flash更改父级变换矩阵的内容。然后,下一次渲染时,当Flash重画子对象时,会将父对象的变换与子对象的变换合并,从而子对象继承变换。但在事件或属性方面没有任何东西是继承的。我尝试重写scaleX、transform、width和x,但这些似乎都没有在子对象中调用。我也在侦听子对象上的渲染事件,但也没有得到它。父对象和子对象都在放大(通过scaleX、scaleY)。这似乎是一个很久以前就能解决的问题。为了扩大触感,当你缩放某个东西时,它不是一个传播到任何地方的事件。所发生的一切就是Flash更改父级变换矩阵的内容。然后,下一次渲染时,当Flash重画子对象时,会将父对象的变换与子对象的变换合并,从而子对象继承变换。但在事件或属性方面没有任何东西是继承的。我尝试重写scaleX、transform、width和x,但这些似乎都没有在子对象中调用。我也在侦听子对象上的渲染事件,但也没有得到它。父对象和子对象都在放大(通过scaleX、scaleY)。这似乎是一个很久以前就可以解决的问题。如果您想触发
ScaleEvent
,则必须扩展一个类并进行一些自定义重写:
override public function set scaleX(val:Number):void{If(this.dispatchEvent(…此处的事件…){super.scaleX=val;}
。如果你想触发一个
ScaleEvent
,你必须扩展一个类并进行一些自定义重写:
override public function set scaleX(val:Number):void{If(this.dispatchEvent(…你的事件在这里…){super.scaleX=val;}
。给出答案,因为这是我最后不得不做的。我讨厌当“外力”(父对象)影响它的规模时,子对象无法管理它自己的子对象的管理方式。给出这个答案,因为这是我最后不得不做的。我讨厌当“外力”(父对象)影响其比例时,子对象无法管理如何管理自己的子对象。