Closed huiyadanli closed 1 year ago
如何优雅的设计一个(N个)类用于二维坐标(x,y)转换,要求实际使用时候简单、美观且语义化 使用这个类的代码能够直观的看出是从哪个坐标转换到目标坐标。
(x,y)
可能有相对以下内容的坐标值,相邻的offset都是已知且动态的
最终会有用的转换目标坐标:
额外: 矩形中心点到矩形左上角点的转换 OpenCv点、矩形类到WPF点、矩形类的转换
用于替换下列代码: https://github.com/babalae/better-genshin-impact/blob/6fd51f163590b6c49b22f1cb6db6fc393b2f5dbd/BetterGenshinImpact/GameTask/AutoSkip/AutoSkipTrigger.cs#L66-L68
定义了一个屏幕区域块的对象 RectArea.cs ,封装了所有和屏幕区域相关的操作(找图、识图、OCR、点击等)
无限向下记录相对坐标。获取桌面坐标时,向上遍历即可。
https://github.com/babalae/better-genshin-impact/tree/feat/resolution/BetterGenshinImpact/GameTask/Model/Area
全新的替代品
如何优雅的设计一个(N个)类用于二维坐标
(x,y)
转换,要求实际使用时候简单、美观且语义化 使用这个类的代码能够直观的看出是从哪个坐标转换到目标坐标。可能有相对以下内容的坐标值,相邻的offset都是已知且动态的
最终会有用的转换目标坐标:
额外: 矩形中心点到矩形左上角点的转换 OpenCv点、矩形类到WPF点、矩形类的转换
用于替换下列代码: https://github.com/babalae/better-genshin-impact/blob/6fd51f163590b6c49b22f1cb6db6fc393b2f5dbd/BetterGenshinImpact/GameTask/AutoSkip/AutoSkipTrigger.cs#L66-L68