C# 向上滑动我的菜单屏幕,进入Unity游戏
我有一个介绍型启动屏幕,我希望用户在底部触摸,然后继续用手指向上滑动。我希望启动屏幕仅在y轴上向上移动,并在图像底部边缘到达用户屏幕顶部时移出屏幕,最终消失 我能找到的唯一一件事就是在登录之前模拟windows 10简介,在这里,图像向上移动并离开屏幕,以显示下面的登录框C# 向上滑动我的菜单屏幕,进入Unity游戏,c#,unity3d,C#,Unity3d,我有一个介绍型启动屏幕,我希望用户在底部触摸,然后继续用手指向上滑动。我希望启动屏幕仅在y轴上向上移动,并在图像底部边缘到达用户屏幕顶部时移出屏幕,最终消失 我能找到的唯一一件事就是在登录之前模拟windows 10简介,在这里,图像向上移动并离开屏幕,以显示下面的登录框 我不是在找人帮我做这项工作,但我无法集中精力思考如何开始代码或手指输入。你有什么想法吗?谢谢 你真的有两个选择。您可以将EventHandler与IDragHandler、IBeginDragHandlerand和IEndDr
我不是在找人帮我做这项工作,但我无法集中精力思考如何开始代码或手指输入。你有什么想法吗?谢谢 你真的有两个选择。您可以将EventHandler与IDragHandler、IBeginDragHandlerand和IEndDragHandler一起使用,并计算初始位置(拖动开始)和最终位置(拖动释放)之间的距离
或者你可以使用事件系统。onPointerUp onPoniterDown你见过这些吗?@burakKarasoy,我见过。一旦指针落在UI元素上,我可以让它跟随触摸的y位置?您可以计算差异。从…向下得到一个位置,从…向上得到一个位置,然后计算差值。也许你能找到更多的解决办法。
public class DragDrop : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler {
private Vector3 startPosition;
private Vector3 endPosition;
private float distanceToDrag;
public void OnBeginDrag(PointerEventData eventData)
{
startPosition = Input.GetTouch(0).position; // get current Tocuh position
}
public void OnDrag(PointerEventData eventData)
{
//Drag your UI as you wish
}
public void OnEndDrag(PointerEventData eventData)
{
endPosition = Input.GetTouch(0).position; // get current Tocuh position
float distance = Vector2.distance(startPosition,endPosition);
if (distance > distanceToDrag)
//start the game
else
//Put the UI back.
}
}