新问题
应该是两个脚本之间缺少继承关系 its children
解决起来很简单,把ResceneScript也绑到canvas上就可以了 。
此时,在账号密码正确的情况下,是可以完成场景切换。
对应的代码如下:
TMP_Text d = GameObject.FindWithTag("logText").GetComponent<TMP_Text>(); ;//得到两个Text对象
d.text = "登录成功";
Debug.Log("成功登录,要进行场景跳转了");
GameInfo.ACC_ID = dto.value;//静态类起到全局效果
GameInfo.GAME_STATE = GameState.LOADING;
BroadcastMessage("Loading", 1);//进入ResceneScript.cs调用loading,只要继承mono的都可以调
//GameInfo.GAME_STATE = GameState.LOADING;//加载状态其实我也用不到
//StartCoroutine("load",1);//调用一个写作函数--作用其实就是把登录代码卡住。
Debug.Log("等待下一次挑战");
using UnityEngine;
using System.Collections;public class ResceneScript : MonoBehaviour {//public GameObject loading;我没做这个进度条private AsyncOperation async;//这个是用来调取其他场景,异步!// Update is called once per framevoid Update () {//这个可以有,只不过我不做那个显示条if(GameInfo.GAME_STATE == GameState.LOADING ){GameInfo.LOAD_PRORESS = async.progress;}}public void Loading(int level){GameInfo.LOAD_PRORESS = 0f;//0//gameObject.SetActive (true);//我没做进度条GameInfo.GAME_STATE = GameState.LOADING;StartCoroutine ("load",level);//yield中断式调用}IEnumerator load(int level){//async = Application.LoadLevelAsync (level);//这里的1是在build setting中设置的。Debug.Log("好像是死在这里了!");async = Application.LoadLevelAsync(level);Debug.Log("切换到新场景中!");yield return async;}void OnLevelWasLoaded(int level){GameInfo.GAME_STATE=GameState.RUN;}
}
切换完场景其实也就完成了完整的异步操作!