【Unity】如何制作新手引导

1.首先要定义一个bool值来判断是不是第一次进入【第一关】/【某个需要新手引导的关卡】。默认为真,当玩家第二次进入该场景的时候就将该bool值设为false。

   每次进入这个第一关的时候先判断这个bool值,为真,进行新手引导,反之,不进行。

   那么怎么才能判断玩家是不是第二次进入该场景呢?  这里我把这个值存储在了管理关卡跳转的类中。有人可能说,我直接拿该场景和最大进度进行比较不就可以了吗?这个要看你是怎么存储最大进度的了,像我都是存在每一关的【退出按钮】中的,这样,如果我第一关失败了,直接按了【重玩】,它是不能判断出我已经是第二次进入这个关卡了。

            if (nextScene == "Start_boat")//如果将要进入的是船关卡
            {
                if (PlayerPrefs.HasKey("isFirstInBoat"))//第二次进入船关卡就把这个值设为false
                {
                    if (PlayerPrefs.GetInt("isFirstInBoat") == 1)
                    {
                        isFirstInBoat = false;
                        Save._instance.SaveFirstBoat(isFirstInBoat);//关闭新手引导(加载船场景的时候不会再进行                      
                    }
                }
                else
                {
                    Save._instance.SaveFirstBoat(isFirstInBoat);//第一次进入船关卡,把这个值设为true                   
                }
            }
  if (PlayerPrefs.GetInt("isFirstInBoat") == 1)
        {
            //进行新手引导
            GetComponent<GraphicRaycaster>().enabled=false;
            blackMaskPanel.SetActive(true);
            blackMaskCanvas.DOFade(1f,3f);
            helpText.text =Language._instance.helpTexts[0];
            //开始侦测鼠标点击
            listenHelpClick = true;
        }
        else if (PlayerPrefs.GetInt("isFirstInBoat") == 0)
        {
            //不进行操作
            GetComponent<GraphicRaycaster>().enabled = true;
        }



猜你喜欢

转载自blog.csdn.net/qq_36622009/article/details/80000211