[Unity]【已解决】在一个可自由滚动的容器内拖动Component,座标会发生偏移。

重现步骤:
1、unity2022.3.2.f1
2、fairygui新建一个GComponent container , 设置 溢出处理 自由滚动。
3、fairygui创建多个GComponent testGrid 用来测试
4、fairygui创建一个GComponent dragableComponent 用来测试
5、启动工程,for 循环向 container 添加一大堆 testGrid ,座标格状布局,使得container 可以拖动。

6、container.addChild(dragableComponent);
7、dragableComponent.draggable = true;
8、拖动 dragableComponent 发现没有问题。
9、滚动 container
10、再拖动 dragableComponent 发现座标偏移。
11、如果在步骤9中把container向右滚动 (posX增加),则拖动dragableComponent 时,它相对于实际鼠标位置,向左偏移。
12、如果在步骤9中把container向下滚动 (posY增加),则拖动dragableComponent 时,它相对于实际鼠标位置,向上偏移。

13、推测跟unity的父级物体会影响所有子物体的坐标有关。
已邀请:

freelancer13

赞同来自:

目前有个处理方法就是,在dragStart时手动修复一次座标。不过有点麻烦。

要回复问题请先登录注册