private Vector2 leftFingerPos = Vector2.zero;
private Vector2 leftFingerLastPos = Vector2.zero;
private Vector2 leftFingerMoveBy = Vector2.zero;
public float slideMagnitudeX = 0.0;
public float slideMagnitudeY = 0.0;
void Update()
{
if(Input.touchCount == 1)
{
Touch touch = Input.GetTouch(0);
if(touch.phase == TouchPhase.Began)
{
leftFingerPos = Vector2.zero;
leftFingerLastPos = Vector2.zero;
leftFingerMoveBy = Vector2.zero;
slideMagnitudeX = 0;
slideMagnitudeY = 0;
//记录开始坐标点
leftFingerPos = touch.position;
}
else if(touch.phase == TouchPhase.Moved)
{
leftFingerMoveBy = touch.position - leftFingerPos;
leftFingerLastPos = leftFingerPos;
leftFingerPos = touch.position;
slideMagnitudeX = leftFingerMoveBy.x / Screen.width;
slideMagnitudeY = leftFingerMoveBy.y / Screen.height;
}
else if(touch.phase == TouchPhase.Stationary)
{
leftFingerLastPos = leftFingerPos;
leftFingerPos = touch.position;
slideMagnitudeX = 0.0;
slideMagnitudeY = 0.0;
}
else if(touch.phase == TouchPhase.Ended || touch.phase == TouchPhase.Canceled)
{
slideMagnitudeX = 0.0;
slideMagnitudeY = 0.0;
}
}
}
Unity3d 在移动平台的触摸事件示例
最新推荐文章于 2022-07-22 18:29:28 发布