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;
	}
}

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

相关推荐
西岸行者3 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意3 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码3 天前
嵌入式学习路线
学习
毛小茛3 天前
计算机系统概论——校验码
学习
babe小鑫3 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms3 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下3 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。3 天前
2026.2.25监控学习
学习
im_AMBER3 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J3 天前
从“Hello World“ 开始 C++
c语言·c++·学习