2016-09-11 12 views
0

Сценарий, который у меня есть, предназначен для приостановки и приостановки gameobject. У меня есть два таких же ошибок (31,16): ошибка CS1525: Неожиданный символ (', expecting) «,',;», [', or(31,16): ошибка CS1525: Неожиданный символ `(', ожидающий`)', `, ',`;', `[', или` ='

Я просто пытаюсь сделать паузу и возобновите в GameObject. Возможно, в моей сцене будет больше паузы и лишний раз. Мне нужна пауза для игры в течение нескольких секунд и без пауз. Dont, что нужно приостановить gameobject ключом. Вот мой сценарий:

using UnityEngine; 
using System.Collections; 

public class star : MonoBehaviour { 
GameObject[] pauseObjects; 


    void Start() { 
    pauseObjects = GameObject.FindGameObjectsWithTag("Player"); 
    } 

void Pause(){ 
    StartCoroutine(waitToUnpause); 
} 

IENumerator waitToUnpause(){ 
    //do the thing to pause game 
    Time.timeScale = 7f;//or some other method 
    yield return new WaitForSeconds(7);///or any duration you want 
    Time.timeScale = 1f;//or some other method 
} 

void pauseGameobject() 

{ 
timeLeft -= Time.deltaTime; 
if(timeLeft < 0) 
gameObject.SetActive(false); 
{ 

start coroutine("wait"); 

} 

} 

public ienumenator wait() 

{ 

time.timescale = 0; 

yield return new waitforsceonds(7); 

time.timesale = 1; 

} 
void pauseGameobject() 

{ 

if(timerleft < 0) 

{ 

start coroutine("wait"); 

} 

} 

public ienumenator wait() 

{ 

time.timescale = 0; 

yield return new waitforsceonds(7); 

time.timesale = 1; 

} 

} 
+1

Вы скопировали код? Если это так, у вас есть некоторые синтаксические ошибки, кроме тех, которые вы получаете с неожиданным символом. Например. в 'pauseGameobject',' gameObject.SetActive (false) 'должен быть после' {', а не раньше (внутри if). Также некоторые вещи, такие как неправильный верхний/нижний регистр или пробелы, где их не должно быть. –

+0

Если это не точный код, скопируйте его из файла и вставьте его, вы можете использовать команду кода stackoverflow ({} -icon), а также правильный отступ и соответствующие номера строк ошибок (так что мы не надеемся, t должен рассчитывать в более длинном коде). –

+0

Я думал, что сделал это. – Freddy

ответ

0

Этот код компилируется без ошибок (ваш довольно ... нечистый). Конечно, это не сработает. Также я изменил некоторые имена для соответствия соглашениям об именах (нижний/верхний регистр).

using UnityEngine; 
using System.Collections; 

public class Star : MonoBehaviour { 
    GameObject[] pauseObjects; 

    // I guess this variable is meant to be a field 
    // it is never set to any initial value! 
    float timeLeft; 

    void Start() { 
     pauseObjects = GameObject.FindGameObjectsWithTag("Player"); 
    } 

    void Pause(){ 
     StartCoroutine(WaitToUnpause()); 
    } 

    IEnumerator WaitToUnpause(){ 
     //do the thing to pause game 
     Time.timeScale = 7f;//or some other method 
     yield return new WaitForSeconds(7);///or any duration you want 
     Time.timeScale = 1f;//or some other method 
    } 

    void PauseGameobject() 

    { 
     timeLeft -= Time.deltaTime; 
     if(timeLeft < 0) 
     { 

      gameObject.SetActive(false); 
      StartCoroutine(Wait()); 

     } 

    } 

    public IEnumerator Wait() 

    { 

     Time.timeScale = 0; 

     yield return new WaitForSeconds(7); 

     Time.timeScale = 1; 

    } 

// The following code is nearly a duplicate of the above two functions 

// void PauseGameobject() 
// 
// { 
// 
//  if(timeleft < 0) 
// 
//  { 
// 
    //   StartCoroutine(Wait()); 
// 
//  } 
// 
// } 
// 
// public IEnumerator Wait() 
// 
// { 
// 
//  Time.timeScale = 0; 
// 
//  yield return new WaitForSeconds(7); 
// 
//  Time.timeScale = 1; 
// 
// } 

} 

 Смежные вопросы

  • Нет связанных вопросов^_^