unity切换场景后人物无法移动

在按住w控制人物移动的情况下进行场景切换,到下个场景后人物无法自动移动,需要松开w再次按下才会移动。获取按键响应使用的是 input.GetAxisRaw 不知道会不会是这个问题。

很多游戏和程序都不止在一个场景中运行,就需要进行场景视图的切换,在Unity中实现场景切换的方法非常简单,几句话就能说清楚:

1、Unity中切换场景使用的是Application.LoadLevel()函数,括号中加入场景的名称或编号即可,例如:

if( GUI.Button( Rect( Screen.width-105 , 520 , 80 , 40 ) , "切换场景" ) )

{

Application.LoadLevel("scene1")  ;

}

2、切换场景后所有加载物体都将删除,除非使用Object.DontDestroyOnLoad(Object)添加标记,例如人物角色在切换场景后需要保留,就可以用此方法。

3、不要忘记的是,还需要在 File->Building Setting中 设置添加场景,否则也不能实现切换成功。

public void Update()
    {
        horizontalInput = Input.GetAxisRaw("Horizontal");
        forwardInput = Input.GetAxisRaw("Vertical");
        Debug.Log(" forwardInput = " + forwardInput);
        if (forwardInput != 0)
        {
            transform.Translate(Vector3.forward * Time.deltaTime * vehicle.speed * forwardInput);
        }

        if (Input.GetKeyDown(KeyCode.F))
        {
            Debug.Log(" =========== 场景切换 ============");
            DontDestroyOnLoad(gameObject);
            MainManager.LoadNewScene("scene3");
            transform.position = new Vector3(0, 0, 1);
        }
    }

感谢您的回答,我在本地简单的测试复现了一下。在切换场景之前,是可以获取到w的键入的值为1。但是在不松开w按下f进行场景切换后,在新的场景中获取到的w的键入值就变成了0,导致人物无法移动,需要再次松开w才可以。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632