暂停按钮不起作用

时间:2016-03-16 11:03:47

标签: c# android unity3d

我正在为我的游戏写一个暂停按钮(手机游戏)。

我的暂停脚本:

using UnityEngine;
using System.Collections;

public class PauseScript : MonoBehaviour {

    public bool paused;
    // Use this for initialization
    void Start () {
        paused = false;
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))    
        {    
            paused = !paused;
        }

        if (paused)    
        {    
            Time.timeScale = 0;   
        }    
        else if (!paused)    
        {    
            Time.timeScale = 1;
        }
    }

    public void Pause()    
    {
        paused = !paused; 

        if (paused)
        {    
            Time.timeScale = 0;
        }
        else if (!paused)
        {    
            Time.timeScale = 1;
        }
    }
}

和Jump一样写成jump = Input.GetButton("Fire1");

当我触摸按钮时,我的玩家会跳跃并且游戏不会暂停。

如何让我的游戏暂停,玩家不跳?

1 个答案:

答案 0 :(得分:0)

Unity Docs: Time.timeScale

  

除了realtimeSinceStartup,timeScale会影响Time类的所有时间和delta时间测量变量。

如果您想实际使用timeScale,则需要在计算中使用Time.deltaTime。像:

transfomr.position += Vector3.forward * speed * Time.deltaTime;

所以,它不会神奇地暂停所有脚本。 Update()FixedUpdate()和所有其他MonoBehaviour函数仍会正常调用。另外,read about Time.deltaTime如果你还没有。