要在按钮上重新启动游戏,请单击统一框架

时间:2015-10-05 07:02:41

标签: unity3d unityscript unity3d-2dtools

这是我的代码

   void Start () {  
    GetComponent<SpriteRenderer>().enabled = false;
    animator = transform.GetComponentInChildren<Animator>();
    if (animator == null) {
        Debug.LogError("Didn't find animator");
    }
}
}








    GetComponent<Rigidbody2D>().AddForce(Vector2.right * forwardSpeed);

    if (didFlap) {

        GetComponent<Rigidbody2D>().AddForce (Vector2.up * flapSpeed);
        animator.SetTrigger("Doflap");

        didFlap = false;
        time = 0;
    }

// Do graphics & input update
void Update(){
    if(Input.GetKeyDown(KeyCode.Space) || (Input.GetMouseButtonDown(0))){

        didFlap=true;

    }





}

public void TakeDamage(float tim) {
    Application.LoadLevel(Application.loadedLevel);

}
// Do physics engine update
void FixedUpdate () {

    if (dead) {

        Time.timeScale = 0;
        GetComponent<SpriteRenderer>().enabled = true;



        if(Time.timeScale == 0 && (Input.GetKeyDown (KeyCode.Space) || Input.GetMouseButtonDown (0))){
            Application.LoadLevel(Application.loadedLevel);

这里当我给出行(Application.LoadLevel(Application.loadedLevel);)时,如果游戏重新启动,但是当我在内部时,如果它不工作......在游戏死亡时我将Time.timeScale设置为0,并且屏幕上出现一个重启按钮。再次触摸我需要重新启动。但是当我给重启内部的代码如果它不能正常工作时,如果游戏突然重新启动后我就不用了给出一个空格来点击重启按钮。 我需要在按钮上重新启动

    }
}

void OnCollisionEnter2D(Collision2D collision){

    animator.SetTrigger("Death");
    dead = true;

}
}

1 个答案:

答案 0 :(得分:0)

当您将TimeScale设置为0时,您的输入也将停止工作,因为它们取决于实际时间;-)但您仍然可以使用Input.GetAxisRaw来实现类似的目标。因为它不依赖于TimeScale。

但更好的解决方案是使用新的内置用户界面添加一个统一4.6+的UI按钮。