我有一个带有VGroup的Canvas,其中填充了各种类型的对象,其中一些具有鼠标事件,如MOUSE_OVER。
我遇到的问题是使用鼠标滚轮正确滚动画布。它仅在鼠标悬停在滚动条上时才有效。
我试着通过在舞台上听鼠标滚轮来伪装它,然后手动滚动画布。但是当Canvas滚动到一个物体在鼠标下移动的地方时,事情变得非常糟糕。
有什么建议吗?
小心, 利更新
确定。我发现如果我在没有添加的情况下使用画布,它只会在鼠标位于其中的对象上时滚动。如果鼠标位于空白区域,则不会滚动。
当我说'鼠标在它里面的一个物体上'时,我的意思是文字字段和其他有视觉元素的物体。
确定。我找到了部分解决方案。如果我拦截VGroup上的mouseWHeel事件,则滚动工作。但是,当我到达VGroup中的RichEditableText对象时,滚动停止。之前,它滚动得很好。
答案 0 :(得分:1)
在这里找到一个有趣的解决方案。 mouseWheel事件不会在画布中触发,除非它在InteractiveObject上,即文本字段等。但是,当我测试确保我的鼠标实际上在画布中时,我发现事件是在“白色”空间中触发的如果画布具有backgroundColor属性设置,则在对象之间。因此,设置backgroundColor,如果您不想要背景,则将backgroundAlpha设置为0。