float firstPosX = 0f;
float currentRotY = 0f;
if( Input.touchCount == 1 ) {
if( Input.GetTouch(0).phase == TouchPhase.Began ) {
firstPosX = Input.GetTouch(0).position.x;
currentRotY = roleObj.transform.localRotation.eulerAngles.y;
}
if( Input.GetTouch(0).phase == TouchPhase.Moved ) {
float currentPosX = Input.GetTouch(0).position.x;
float XAxis = firstPosX - currentPosX;
if( Mathf.Abs(XAxis) < 5 ) {
return;
}
roleObj.transform.localRotation = Quaternion.Euler(new Vector3(0f, currentRotY + XAxis , 0));
}
if( Input.GetTouch(0).phase == TouchPhase.Ended ) {
firstPosX = 0f;
currentRotY = roleObj.transform.localRotation.eulerAngles.y;
}
}
}
float currentRotY = 0f;
public GameObject roleObj = null;
private void __RoleRotation(float detalTime) {if( Input.touchCount == 1 ) {
if( Input.GetTouch(0).phase == TouchPhase.Began ) {
firstPosX = Input.GetTouch(0).position.x;
currentRotY = roleObj.transform.localRotation.eulerAngles.y;
}
if( Input.GetTouch(0).phase == TouchPhase.Moved ) {
float currentPosX = Input.GetTouch(0).position.x;
float XAxis = firstPosX - currentPosX;
if( Mathf.Abs(XAxis) < 5 ) {
return;
}
roleObj.transform.localRotation = Quaternion.Euler(new Vector3(0f, currentRotY + XAxis , 0));
}
if( Input.GetTouch(0).phase == TouchPhase.Ended ) {
firstPosX = 0f;
currentRotY = roleObj.transform.localRotation.eulerAngles.y;
}
}
}