UG4L15——拖拽相关
UG4L15——拖拽相关
本章代码关键字
1  | gObject.draggable //将对象的拖曳功能打开  | 
现有知识实现拖拽
利用onTouchBegin、onTouchEnd、onTouchMove事件可以完成拖拽功能
FGUI中的自由拖拽功能
获取对象设置 draggable 属性为 true 即可拖拽
注意:拖动只能在元件父组件内移动
1  | //显示面板  | 
该元件即可拖曳至父对象下的如何地方

自由拖曳事件相关
- 
开始拖
1
2
3
4
5
6
7//显示面板
TeachPanel panel = UIManager.Instance.ShowPanel<TeachPanel>("teach");
panel.m_btnTest.draggable = true;
panel.m_btnTest.onDragStart.Add(() =>
{
print("开始拖");
});输出:

 - 
拖动中
可以通过eventContext.inputEvent.x/y来获取拖动到了哪个位置
1
2
3
4
5
6
7//显示面板
TeachPanel panel = UIManager.Instance.ShowPanel<TeachPanel>("teach");
panel.m_btnTest.draggable = true;
panel.m_btnTest.onDragMove.Add((eventContext) =>
{
print("拖动中" + new Vector2(eventContext.inputEvent.x, eventContext.inputEvent.y));
});输出:
 - 
结束拖
1
2
3
4
5
6
7//显示面板
TeachPanel panel = UIManager.Instance.ShowPanel<TeachPanel>("teach");
panel.m_btnTest.draggable = true;
panel.m_btnTest.onDragEnd.Add(() =>
{
print("结束拖");
});输出:
 
设置拖动范围
注意!范围是舞台上的坐标(物理屏幕坐标),不是元件的本地坐标
1  | panel.m_btnTest.dragBounds = new Rect(500, 0, 1000, 200);  | 
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 文KRIFE齐的博客!
