可观察的二维坐标点类,当坐标值发生变化时会自动触发 markDirty 回调
该类主要用于监听和追踪坐标点的变化,常用于需要实时更新变换的场景。大部分情况下,使用 Point 类即可满足需求。
创建一个新的可观察坐标点实例
观察者对象,必须实现 markDirty 方法用于接收坐标变化的通知
x 轴坐标值,默认为 0
y 轴坐标值,默认为 0
观察者对象是必需的,它会在坐标发生任何变化时收到通知。 初始坐标值的设置不会触发 markDirty 回调。
Internal
x 轴坐标值
获取或设置 x 轴坐标。设置新值时,如果值发生变化会自动触发观察者的 markDirty 回调, 传入 DirtyType.transform 参数表示变换需要更新。
y 轴坐标值
获取或设置 y 轴坐标。设置新值时,如果值发生变化会自动触发观察者的 markDirty 回调, 传入 DirtyType.transform 参数表示变换需要更新。
将坐标点按指定增量进行相对偏移
x 轴偏移量(正值向右,负值向左)
y 轴偏移量(正值向下,负值向上)
当前实例,支持链式调用
此方法会直接修改坐标值并始终触发 markDirty 回调,即使偏移量为 0。
创建当前坐标点的完整副本
Optional
可选的新观察者对象,如果不提供则使用当前实例的观察者
新的 ObservablePoint 实例,包含相同的坐标值
新创建的实例是完全独立的,修改其中一个不会影响另一个。 如果提供新的观察者,副本将使用新观察者;否则共享相同的观察者对象。 复制过程中不会触发任何 markDirty 回调。
从指定坐标点复制坐标值到当前实例
源坐标点对象,必须包含 x 和 y 属性
只有当源坐标与当前坐标不同时才会更新并触发 markDirty 回调。
比较当前坐标点与给定坐标点是否完全相同
待比较的坐标点对象,必须包含 x 和 y 属性
如果两点的 x 和 y 坐标都相等则返回 true,否则返回 false
此方法执行严格相等比较(===),不会触发任何坐标变化回调。
批量设置坐标点的位置
y 轴坐标值,如果不提供则使用 x 的值
这是批量设置坐标的推荐方法,只有当至少一个坐标值发生变化时才会触发 markDirty 回调。 如果两个坐标都没有变化,则不会触发回调,避免不必要的更新。
可观察的二维坐标点类,当坐标值发生变化时会自动触发 markDirty 回调
Remarks
该类主要用于监听和追踪坐标点的变化,常用于需要实时更新变换的场景。大部分情况下,使用 Point 类即可满足需求。