我是Unity和Stack Overflow的新手,并且正在寻找一个可以创建对象(如播放器)的脚本。我找到了一个有效的脚本,有点工作或者去计划。当我测试脚本时,当我向前按箭头键,而不是前进时,它将开始跳跃。如果我按下向下箭头键,立方体(或玩家)将尝试将自己推到地下,然后将永远掉落,但左右箭头键完全正常。请注意,此脚本目前仅用于移动播放器,而不是其他任何内容,以防您认为它应该是其他的或不同的。这是代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour {
public float moveSpeed;
// Use this for initialization
void Start()
{
moveSpeed = 5f;
}
// Update is called once per frame
void Update()
{
transform.Translate(moveSpeed * Input.GetAxis("Horizontal") * Time.deltaTime, moveSpeed * Input.GetAxis("Vertical") * Time.deltaTime, 0f);
}
}
我希望您找到解决方案或找到解释。谢谢你的回复。 问候, 用户:9104031
答案 0 :(得分:2)
在您的代码中,您正在根据您的"垂直"移动播放器。 Y轴上的轴输入,当然会将您的向上/向下箭头键映射到错误的方向。
你所要做的就是改变
transform.Translate(
moveSpeed * Input.GetAxis("Horizontal") * Time.deltaTime
, moveSpeed * Input.GetAxis("Vertical") * Time.deltaTime
, 0f);
到
transform.Translate(
moveSpeed * Input.GetAxis("Horizontal") * Time.deltaTime
, 0f
, moveSpeed * Input.GetAxis("Vertical") * Time.deltaTime);
答案 1 :(得分:0)
如果我理解正确,我相信这是您在更新部分中想要的内容:
transform.Translate(moveSpeed * Input.GetAxis("Horizontal") * Time.deltaTime, 0f, moveSpeed * Input.GetAxis("Vertical") * Time.deltaTime);
我换了Y轴和Z轴。希望你的目标是什么!