我写了一个代码,应该允许我旋转的"游戏对象车辆"按下"A""D"键,我写了这个代码根据官方课程从单位. 更改前的工作代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour
{
    public float speed = 10f;
    public float turnSpeed = 0f;

    void Start()
    {
        
    }

    void Update()
    {
        transform.Translate(Vector3.forward * Time.deltaTime * speed);
        transform.Translate(Vector3.right * Time.deltaTime * turnSpeed);
    }
}

更改后的代码:



using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class PlayerController : MonoBehaviour

{

    public float speed = 10f;

    public float turnSpeed = 0f;

    public float horizontalInput;

    void Start()

    {

        

    }

    void Update()

    {

        horizontalInput = Input.GetAxis("Horizontal");

        transform.Translate(Vector3.forward * Time.deltaTime * speed);

        transform.Translate(Vector3.right * Time.deltaTime * turnSpeed * horizontalInput);

    }

}

编译器(在我的例子中是Microsoft Visual Studio)显示代码是绝对正确的.Unity的react 与此完全相同.但是,在添加Input.GetAxis("Horizular")之后,除了不对按键做出任何响应外,它还删除了通过统一界面更改Turn​​参数的任何响应.

我重新启动了Unity,并try 从项目中完全删除代码文件,然后重新创建它,但没有帮助.代码应根据按下的"A"或"D"键改变"Vehicle"对象的方向.

推荐答案

在你的破解代码中,如果你的转弯速度是0,你的A和D将不起作用.当你不按下A或D horizontalInput时,值是0.这就是它消除turnSpeed效应的原因.在这两种情况下,您都是乘以零,得到的输出为零.

Make sure that turnSpeed is set to a non-zero value in the editor.
Make sure that horizontalInput is not set in the editor.
Make sure you are actively holding A or D, not just pressing it once.

Csharp相关问答推荐

发布.NET框架项目将.NET核心元素注入到web. connect中

如何使用FastEndpoints和.NET 8 WebAppliationBuilder进行集成测试?

. NET在上一个操作完成之前,在此上下文实例上启动了第二个操作

我需要两个属性类吗

无法解析数据库上下文的服务

图形API基于appid列表检索多个应用程序

使用C#HttpClient以多部分形式数据发送带有非ASCII文件名的文件的问题

Razor视图Razor页面指向同一端点时的优先级

如何在没有前缀和可选后缀的情况下获取Razor Page Handler方法名称?

MigraDoc文档

如何在NET 8最小API中自动记录TypedResults.Stream响应

从VS调试器而不是测试资源管理器运行的调试NUnitDotNet测试

N层解决方案上的依赖注入-删除样板

ASP.NET Core MVC将值从视图传递到控制器时出现问题

使用switch 类型模式时出现奇怪的编译器行为

C#LINQ子字符串

发布.NET 8 Blazor WebAssembly独立应用程序以进行静态站点部署

.NET8Blazor-为什么Rapzor渲染在for循环之后显示?

C#使用相同内存的多个数组

为什么当我try 为玩家角色设置动画时,没有从文件夹中拉出正确的图像?