这是我的代码
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;
}
}
答案 0 :(得分:0)
当您将TimeScale设置为0时,您的输入也将停止工作,因为它们取决于实际时间;-)但您仍然可以使用Input.GetAxisRaw来实现类似的目标。因为它不依赖于TimeScale。
但更好的解决方案是使用新的内置用户界面添加一个统一4.6+的UI按钮。