У меня есть сценарий перемещения работающего игрока, который я сделал из бесплатного сценария 2D-контроллера контроллера персонажей, и мой собственный, он работает с помощью клавиш A и D на клавиатуре для перемещения влево и вправо.
Iхочу, чтобы этот код работал для мобильных телефонов с сенсорным экраном.По сути, вы нажимаете левую сторону экрана, чтобы двигаться влево, правую - вправо.
Я все еще новичок в C # и могу использовать справку.
Вот мой текущий сценарий движения игрока.
Заранее спасибо!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
[Range(0, .3f)] [SerializeField] private float m_MovementSmoothing = .05f;
private Rigidbody2D m_Rigidbody2D;
private Vector3 m_Velocity = Vector3.zero;
public float runSpeed = 40f;
float horizontalMove = 0f;
private void Awake()
{
m_Rigidbody2D = GetComponent<Rigidbody2D>();
}
public void Move(float move)
{
// Move the character by finding the target velocity
Vector3 targetVelocity = new Vector2(move * 10f,
m_Rigidbody2D.velocity.y);
// And then smoothing it out and applying it to the character
m_Rigidbody2D.velocity = Vector3.SmoothDamp(m_Rigidbody2D.velocity,
targetVelocity, ref m_Velocity, m_MovementSmoothing);
}
// Update is called once per frame
void Update()
{
horizontalMove = Input.GetAxisRaw("Horizontal") * runSpeed;
}
void FixedUpdate()
{
// Move our character
Move(horizontalMove * Time.fixedDeltaTime);
}
}