我正在构建一个图形板,例如我面临设计问题的项目。
Main Class 是 Board,它是一个画布,负责在绘制形状时处理鼠标事件。它还具有上下文变量,例如 currentShape 或 snapFlag 来激活网格磁性。
为了处理形状的移动/调整大小/旋转,它们继承自名为 ObjectHandles (flex) 的第三方开源工具。
我有一个 baseShape 扩展 ObjectHandles 主类来覆盖它的一些内部函数,比如 onMove 函数。
当创建一个形状(鼠标向下、移动、鼠标向上)时,这是由 Board 处理的,它知道他自己的 snap 标志。
var mouseUpPoint:Point = boardCanvas.globalToLocal(new Point(event.stageX, event.stageY)); var snapMouseUpPoint = snapPoint(mouseUpPoint.x, mouseUpPoint.y);
在我覆盖的 onMove 方法中,我希望形状能够了解 Board snap 标志及其变化时间。我该怎么做呢 ?
我是否在我的 basicShape 构造函数中将 Board 作为参数传递,以便我可以检查 snap ?
我是否将标志作为参数传递并以某种方式使所有形状都监听变化?
什么是最干净的解决方案?
非常感谢。