- Home /
Move object with finger swipe
I've been trying to program a way to make an object move with your finger, no matter where it is on the screen. So, if you move your finger (anywhere vertically, doesn't have to be on the object) from the middle of the screen to the right side of the screen, the object will move half a screen to the right also, where ever it is.
This is the code that I'm currently using but it doesn't work correctly, the move of the object varies between screen sizes/DPI's.
if (Input.touchCount == 1)
{
Touch touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Began)
{
leftFingerPos = Vector2.zero;
leftFingerLastPos = Vector2.zero;
leftFingerMovedBy = Vector2.zero;
slideMagnitudeX = 0;
slideMagnitudeY = 0;
// record start position
leftFingerPos = touch.position;
}
else if (touch.phase == TouchPhase.Moved)
{
leftFingerMovedBy = touch.position - leftFingerPos; // or Touch.deltaPosition : Vector2
// The position delta since last change.
leftFingerLastPos = leftFingerPos;
leftFingerPos = touch.position;
// slide horz
slideMagnitudeX = leftFingerMovedBy.x / Screen.width;
// slide vert
slideMagnitudeY = leftFingerMovedBy.y / Screen.height;
}
else if (touch.phase == TouchPhase.Stationary)
{
leftFingerLastPos = leftFingerPos;
leftFingerPos = touch.position;
slideMagnitudeX = 0.0f;
slideMagnitudeY = 0.0f;
}
else if (touch.phase == TouchPhase.Ended || touch.phase == TouchPhase.Canceled)
{
slideMagnitudeX = 0.0f;
slideMagnitudeY = 0.0f;
}
gameObject.transform.position = new Vector3(gameObject.transform.position.x + slideMagnitudeX, gameObject.transform.position.y + slideMagnitudeY, gameObject.transform.position.z);
}
Your answer
Follow this Question
Related Questions
Drag+an+object+to+touch+position(Problem) 0 Answers
Facing the players game object (upward, downward, left, right) on Android phone using joystick 0 Answers
How to make object follow touch position?Pls Help 0 Answers
Gradually decrease camera pan speed when touch has ended? (Touch input) 0 Answers
How to dynamically set transform positions (for a Bezier curve)? 2 Answers