unity学习(32)——跳转到角色选择界面(父子类问题)

新问题

应该是两个脚本之间缺少继承关系 its children

解决起来很简单,把ResceneScript也绑到canvas上就可以了 。

此时,在账号密码正确的情况下,是可以完成场景切换。

对应的代码如下:

cs 复制代码
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("等待下一次挑战");
cs 复制代码
using UnityEngine;
using System.Collections;

public class ResceneScript : MonoBehaviour {
	
	//public GameObject loading;我没做这个进度条
	private AsyncOperation async;//这个是用来调取其他场景,异步!
	
	// Update is called once per frame
	void 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;
	}
}

切换完场景其实也就完成了完整的异步操作!

相关推荐
旖旎夜光6 小时前
C++(17)
c++·学习
专注于大数据技术栈7 小时前
java学习--StringBuilder
java·学习
qcwl668 小时前
操作系统 真象还原 学习笔记#13
笔记·学习
车载测试工程师8 小时前
CAPL学习-CAN相关函数-概述
网络协议·学习·capl·canoe
roman_日积跬步-终至千里8 小时前
【人工智能导论】08-学习-如何让计算机理解序列数据——用RNN/LSTM建模时序依赖,用文本嵌入表示序列元素
人工智能·rnn·学习
m0_689618288 小时前
30 分钟打印!多材料3D打印软机器人内置驱动 + 自主避障
笔记·学习·机器人
charlie1145141919 小时前
现代嵌入式C++教程:C++98——从C向C++的演化(2)
c语言·开发语言·c++·学习·嵌入式·教程·现代c++
Rousson9 小时前
硬件学习笔记--93 静电防护方案(电阻、磁珠、电感、TVS等)
笔记·单片机·学习
思成不止于此9 小时前
【MySQL 零基础入门】事务精讲(二):ACID 特性与并发问题
数据库·笔记·学习·mysql
happyhappy没有句号10 小时前
嵌入式单片机一套通关学习笔记
笔记·单片机·嵌入式硬件·学习