Я хочу, чтобы мой спрайт двигался вверх или вниз, влево или вправо, я не хочу никаких других движений, таких как северо-запад или юго-восток;это должно быть или вверх, вниз, вправо или влево.В Интернете есть подобные сообщения, но мне было интересно, почему мой не работает.Это не инициирует никакого движения в игре.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public Sprite Up;
public Sprite Down;
public Sprite Right;
public Sprite Left;
public float speed;
// Update is called once per frame
void Update()
{
Vector3 move = transform.position;
if (Input.GetKey(KeyCode.W))
{
GetComponent<SpriteRenderer>().sprite = Up;
move.z += speed * Time.deltaTime;
}
if (Input.GetKey(KeyCode.A))
{
GetComponent<SpriteRenderer>().sprite = Left;
move.x -= speed * Time.deltaTime;
}
if (Input.GetKey(KeyCode.D))
{
GetComponent<SpriteRenderer>().sprite = Right;
move.x += speed * Time.deltaTime;
}
if (Input.GetKey(KeyCode.S))
{
GetComponent<SpriteRenderer>().sprite = Down;
move.y -= speed * Time.deltaTime;
}
transform.position = move;
}
}
Для того, что я ищу, я не думаю, что мне нужно жесткое тело, как большинство людей включают в свое движение.Я все еще новичок, поэтому было бы полезно подробно объяснить, почему мой код не работает и что я могу сделать, чтобы это исправить.Благодарю.