seclectHorizontalScroll.OnDrag(eventData); 这段代码有什么问题
时间: 2023-05-29 22:05:31 浏览: 44
这段代码可能存在以下问题:
1. 可能有拼写错误,正确的拼写应该是selectHorizontalScroll。
2. 这段代码缺少上下文环境,无法确定selectHorizontalScroll是什么。可能需要提供更多的代码。
3. OnDrag(eventData)方法需要传入一个参数,eventData可能是一个事件对象,但也需要根据上下文环境确定。
4. 如果这段代码是在Unity等游戏引擎中使用,可能需要确保控件名称正确,否则可能会抛出异常。
相关问题
View.OnDragListener 的onDrag(View view, DragEvent event) 如何获取绝对坐标
在 `View.OnDragListener` 的 `onDrag()` 方法中,可以通过 `event` 参数获取拖拽事件的相关信息,包括原始坐标和拖拽操作的状态等。要获取拖拽事件的绝对坐标,可以使用 `View` 的 `getGlobalVisibleRect()` 方法和 `DragEvent` 的 `getX()` 和 `getY()` 方法。具体操作如下:
1. 获取 `View` 的全局可见矩形。
```
Rect viewRect = new Rect();
view.getGlobalVisibleRect(viewRect);
```
2. 获取 `DragEvent` 的原始 X 和 Y 坐标。
```
float x = event.getX();
float y = event.getY();
```
3. 计算 `DragEvent` 的绝对坐标。
```
float absoluteX = viewRect.left + x;
float absoluteY = viewRect.top + y;
```
这样就可以获取 `View.OnDragListener` 中的 `DragEvent` 的绝对坐标了。注意,如果要在 `onDrag()` 方法中获取绝对坐标,需要确保 `View` 已经经过布局测量并显示在屏幕上,否则获取的坐标可能不准确。
代码注释public class EventHandler : MonoBehaviour, IPointerClickHandler, IPointerEnterHandler, IPointerExitHandler, IPointerDownHandler, IDragHandler { public void OnPointerClick(PointerEventData eventData) { if(eventData.pointerId == -1){ Debug.Log ("Left Mouse Clicked."); } else if(eventData.pointerId == -2){ Debug.Log ("Right Mouse Clicked."); } } public void OnPointerEnter(PointerEventData eventData) { Debug.Log ("Pointer Enter.."); } public void OnPointerExit(PointerEventData eventData) { Debug.Log ("Pointer Exit.."); } public void OnPointerDown(PointerEventData eventData) { Debug.Log ("Pointer Down.."); } public void OnDrag(PointerEventData eventData) { Debug.Log ("Dragged.."); }
这是一个Unity的脚本,其中包含了一个名为EventHandler的类,该类实现了Unity提供的一些接口,包括IPointerClickHandler、IPointerEnterHandler、IPointerExitHandler、IPointerDownHandler和IDragHandler。
在该类中,OnPointerClick方法用于响应鼠标指针的点击事件,当事件的pointerId值为-1时,表示鼠标左键被点击,此时会输出"Left Mouse Clicked.";当事件的pointerId值为-2时,表示鼠标右键被点击,此时会输出"Right Mouse Clicked."。
OnPointerEnter方法用于响应鼠标指针进入事件,当鼠标指针进入了与该类关联的GameObject时,会输出"Pointer Enter.."。
OnPointerExit方法用于响应鼠标指针退出事件,当鼠标指针退出了与该类关联的GameObject时,会输出"Pointer Exit.."。
OnPointerDown方法用于响应鼠标指针按下事件,当鼠标指针在与该类关联的GameObject上按下时,会输出"Pointer Down.."。
OnDrag方法用于响应鼠标拖拽事件,当鼠标指针在与该类关联的GameObject上进行拖拽操作时,会输出"Dragged.."。