In my game, I want the camera to move based on the user swiping their finger. My issue is that when someone removes their finger from the screen, and places it down again, the camera jumps to a new position… I am guessing it has to do with the coordinates, I say this because if I click somewhere far from where I removed my finger from the screen, the camera jumps. Here is the code:
var speed : int = 1;
var lastPoint : Vector2;//make this
private if you want to.
var offset : float; //offset of the
touch from last frame
if(Input.touches.Length > 0)//make
sure we have a touch in the first
var evt : Touch =
Input.touches;//setting up touch
events so we can get fancy.
TouchPhase.Began)//this is the first
frame the screen has been touched for,
simply save the point.
lastPoint == evt.position;
else if(evt.phase == TouchPhase.Moved)
offset = evt.position.x -
lastPoint.x ;//take the difference
//I’m going to use Transform.Rotate
because it’s handy dandy
transform.Rotate(0,offset * speed,0);
//save the new “lastPoint”
lastPoint = evt.position;
else if(evt.phase == TouchPhase.Ended)
//If you want the object to drift
after you spin it you can make a
function to go here.
//To do this, take the speed of the
rotation and continue to rotate all
while subtracting off of the speed.
//I would use the Transform.Rotate
function on this too.
//If you need me to I could write this
What is the solution to have the camera resume, and not jump once someone puts their finger down again?