(31,16):错误CS1525:意外的符号`(',期待')',`,',`;',`['或`='

时间:2016-09-11 21:56:35

标签: android css unity3d compiler-errors unityscript

我的脚本是暂停和取消暂停游戏对象。我有两个相同的错误(31,16):错误CS1525:意外的符号(', expecting)',,',;',[', or ='

我只想暂停和取消暂停游戏对象。也许在我的场景中暂停和取消暂停。我需要游戏对象暂停几秒钟并取消暂停。不要用钥匙暂停游戏对象的内容。这是我的剧本:

    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 个答案:

答案 0 :(得分: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;
//
//  }

}