【问题标题】:script doesnt work fully after build (Unity / C#)构建后脚本不能完全工作(Unity / C#)
【发布时间】:2021-06-30 19:58:53
【问题描述】:

所以昨天我完成了我的第一个 gamejam 游戏,我构建了它并将它上传到了 itch.io。但是当我回到那个 todat 时,我看到有人说我的球员运动不起作用,而它在团结本身内部起作用。玩完构建后,我还注意到它不起作用。但我就是不知道为什么不,所以有什么可能使它不起作用。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class Player_Movement : MonoBehaviour
{
public Rigidbody rb;
 
    public float X_Axis;
    public float Z_Axis;
    public float force;
 
    public bool Forward_backward;
    public bool leftward_rightward;
 
    void Start()
    {
        GetComponent<Rigidbody>().freezeRotation = true;
        Forward_backward = true;
        leftward_rightward = true;
        force = 5f;
    }
 
    public void Update()
    {
        //Sideward
        if (Input.GetKey ("a"))
        {
            if (leftward_rightward == true)
            {
                leftward_rightward = false;
                Debug.Log("leftward_rightward is false");
            }
        }
        if (Input.GetKey("d"))
        {
            if (leftward_rightward == false)
            {
                leftward_rightward = true;
                Debug.Log("leftward_rightward is true");
            }
        }
 
        if (leftward_rightward == true)
        {
            X_Axis = force;
        }
        if (leftward_rightward == false)
        {
            X_Axis = force * -1;
        }
 
        Vector3 movement = new Vector3(Input.GetAxis("Horizontal"), 0f, 0f);
        if (Input.GetKey("w"))
        {
            rb.AddForce(new Vector3(0f, 0f, Z_Axis));
        }
        if (Input.GetKey("s"))
        {
            rb.AddForce(new Vector3(X_Axis, 0f, 0f));
        }
}

注意:a 和 d 键的输入有效,但这是切换布尔值。真正的运动(带有 w 和 s)不起作用。

我尝试查看游戏日志,但找不到任何东西

【问题讨论】:

  • 一般来说,宁愿尝试使用GetKey(KeyCode.W) 等,该页面是否正确地向前移动键盘和鼠标?
  • a/d 可以使用 S 键左右移动,左右移动可以使用 W 键上下移动。我应该使用GetKey(KeyCode.W)而不是Input.GetKey ("w")
  • 我看到了一个public RigidBody rb;,但我没有看到你在开始时设置它(即void Start() { rb = GetComponent&lt;RigidBody&gt;(); ...因为你在rb上使用了AddForce,这可能是个障碍吗?make @ 987654327@ private 并在 Start 中设置 ;-)
  • 在 Unity 编辑器中,您可以将每个带有刚体的对象拖到该插槽中,它将使用该刚体。我不认为这是解决方案,因为它在编辑器中运行良好

标签: unity3d build


【解决方案1】:

问题是力对于编辑器来说足够大,但对于构​​建版本来说不够,增加添加到播放器的力解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-29
    • 1970-01-01
    相关资源
    最近更新 更多