代码:
private Touch touch;
public float speed;
public Animator animator;
Vector3 point = new Vector3();
Vector3 targetPos;
void Start()
{
targetPos = transform.position;
}
void Update()
{
if (Input.touchCount > 0)
{
touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Moved)
{
transform.position = new Vector3(transform.position.x + touch.deltaPosition.x * Time.deltaTime, transform.position.y, transform.position.z + touch.deltaPosition.y * Time.deltaTime);
Plane plane = new Plane(Vector3.up,transform.position);
Ray ray = Camera.main.ScreenPointToRay(touch.deltaPosition);
float point = 0f;
if (plane.Raycast(ray, out point)) targetPos = ray.GetPoint(point);
transform.LookAt(targetPos);
}
}
}
问题是当我触摸屏幕时,角色看起来是在触摸的方向上,但是当我向前移动它时(屏幕底部稍微向上),它仍然看向触摸位置。我想要它,当它移动时,它面向它前进的方向。
答案 0 :(得分:0)
touch = Input.GetTouch(0);
if(touch.phase == TouchPhase.Moved)
{
transform.position = new Vector3(transform.position.x + touch.deltaPosition.x *
Time.deltaTime,transform.position.y,
transform.position.z + touch.deltaPosition.y * Time.deltaTime);
transform.LookAt(transform.position + touch.deltaPosition);
}