【发布时间】:2019-09-27 01:06:42
【问题描述】:
我希望我的精灵向上或向下或向左或向右移动,我不想要任何其他移动,例如西北或东南;它需要向上、向下、向右或向左。互联网上有类似的帖子,但我想知道为什么我的不工作。它不会在游戏中启动任何动作。
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;
}
}
对于我正在寻找的东西,我认为我不需要像大多数人在他们的运动中包含的刚体。我仍然是初学者,因此深入解释为什么我的代码不起作用以及我可以做些什么来修复它会很有帮助。谢谢。
【问题讨论】: