You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让按增量移动的矩形停在非增量整除的目标位置?

解决矩形移动到非步长整数倍目标位置的问题

这个场景我碰到过好多次了,核心问题就是目标坐标740无法被25-100之间的任何增量整除,所以靠“x等于740时停止”的逻辑永远触发不了。给你几个靠谱的解决思路:

  • 调整停止判断逻辑,提前拦截越界移动:不要只判断x == 740,而是判断x + 当前增量 >= 740。一旦满足这个条件,直接把x设置为740,然后停止移动。比如当前x是725、增量25时,下一次移动会到750,超过740,这时候直接跳转到740并停止,完美贴合目标位置。
  • 动态调整最后一步的增量:每次移动前先计算剩余距离(740 - 当前x),如果剩余距离小于当前增量,就把最后一步的增量替换成剩余距离,移动后刚好到达740。比如当前x是700、增量50,剩余距离40,那就移动40px到目标点再停止。
  • 阈值判断(可选,适合允许微小偏差的场景):如果视觉上允许一点点误差,可以判断abs(x - 740) < 阈值(比如阈值设为5px)时停止。不过这个方法只适合对位置精度要求不高的场景,优先推荐前两种。

本质上就是要跳出“必须刚好等于目标值才停”的思维定式,因为步长和目标值不匹配的情况下,这个条件根本无法触发。

内容的提问来源于stack exchange,提问作者user9146930

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:35:25