подскажите пожалуйста как реализовать данный код чтобы при тапе на дисплее player мувился также как с TouchPhase Moved
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveByTouch : MonoBehaviour {
private Rigidbody2D Player;
public float speed;
public float direction;
public Transform rightLimit;
public Transform leftLimit;
private void Start()
{
shipPlayer = GetComponent<Rigidbody2D>();
}
private void Update()
{
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
Vector3 touchPosition = Camera.main.ScreenToWorldPoint(touch.position);
touchPosition.z = 0f;
transform.position = touchPosition;
if (touch.phase == TouchPhase.Moved)
{
transform.position = new Vector3(Player.transform.position.x - (speed * Time.deltaTime), Player.transform.position.y, Player.transform.position.z);
direction = -1;
}
else
{
direction = 0;
}
if (transform.position.x > rightLimit.position.x)
{
transform.position = new Vector3(rightLimit.position.x, transform.position.y, transform.position.z);
}
else if (transform.position.x < leftLimit.position.x)
{
transform.position = new Vector3(leftLimit.position.x, transform.position.y, transform.position.z);
}
}
}
}
using System.Collections.Generic;
using UnityEngine;
public class MoveByTouch : MonoBehaviour {
private Rigidbody2D Player;
public float speed;
public float direction;
public Transform rightLimit;
public Transform leftLimit;
private void Start()
{
shipPlayer = GetComponent<Rigidbody2D>();
}
private void Update()
{
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
Vector3 touchPosition = Camera.main.ScreenToWorldPoint(touch.position);
touchPosition.z = 0f;
transform.position = touchPosition;
if (touch.phase == TouchPhase.Moved)
{
transform.position = new Vector3(Player.transform.position.x - (speed * Time.deltaTime), Player.transform.position.y, Player.transform.position.z);
direction = -1;
}
else
{
direction = 0;
}
if (transform.position.x > rightLimit.position.x)
{
transform.position = new Vector3(rightLimit.position.x, transform.position.y, transform.position.z);
}
else if (transform.position.x < leftLimit.position.x)
{
transform.position = new Vector3(leftLimit.position.x, transform.position.y, transform.position.z);
}
}
}
}
спасибо заранее кто поможет дополнить данную реализацию