Unity将if语句放置在函数之外

时间:2019-02-02 08:39:46

标签: c# unity3d

我建立一个统一的3D游戏,我想在一个脚本来检查,如果用户是在第三层。如果属实,那么timeLeft = 120; {否则{1}}。我试图实现这种简单的if语句到一个脚本,但我得到:

timeLeft = 90;

如果我把语句转换成start方法获得:

Invalid token 'if' in class, struct, or interface member declaration

如何解决?

Timer.cs

The name 'timeLeft' does not exist in the current context

View

2 个答案:

答案 0 :(得分:2)

由于timeLeft在整个类上使用,因此无法在方法中声明。 移动它,并把你的代码的开始。

test %>% 
  mutate(date=dmy(date),Station=as.factor(Station),time=as.factor(time)) %>% 
  group_by(time) %>% 
  ggplot(aes(x = Station, y = number,fill=time)) + 
  geom_boxplot() 

注释行是相同的,只是写的不同。

答案 1 :(得分:0)

您需要定义_timeLeft字段,然后将if语句放入方法中。例如:

public class Timer : MonoBehaviour
{
    public Collide _collide;
    Text instruction;

    int _timeLeft;

    void Start()
    {
        instruction = GetComponent<Text>();
        InitializeTimeLeft();
        InvokeRepeating("time", 0, 1);
    }

    void InitializeTimeLeft()
    {
        if (SceneManager.GetActiveScene().buildIndex == 7)
        {
            _timeLeft = 120;
        }
        else
        {
            _timeLeft = 90;
        }
    }

    void time()
    {
       ...
    }
}