首页 > 其他分享 >『功能项目』项目优化 - 框架加载资源【41】

『功能项目』项目优化 - 框架加载资源【41】

时间:2024-09-13 20:25:20浏览次数:12  
标签:场景 项目 GameObject void 41 文件夹 public 资源 加载

我们打开上一篇40播放动画时禁止点击移动的项目,

本章要做的事情是搭建一个资源加载框架,让UI界面,人物模型以及场景都存放在资源文件夹中在运行时加载出来

首先在资源商店加载资源

将怪物模型放置场景中

将普通管线模型切换成URP

重命名为Boss01放在资源文件夹里

新建Boss01对象的动画控制器

进行设置

拖拽新建动画控制器

将场景资源放进资源文件夹中后在场景中隐藏

将场景中的界面Canvas放进资源文件夹中后隐藏

接着把以前挂载在Land场景中的文件夹挂载的LoadResourcesRun.cs脚本取消挂载

新建脚本:

编写脚本:

using UnityEngine;
public class GameStart : SingletonMono<GameStart>{
    protected override void Awake(){
        EnterGame();
    }
    public void EnterGame() {
        EnterFightScene();
    }
    public void EnterFightScene() {
        GameObject mapPrefab = Resources.Load<GameObject>("Prefabs/Maps/Land");
        GameObject map = Instantiate(mapPrefab);
        map.AddComponent<GameManager>().InitGame();

        UIManager.Instance.ShowUIView("Canvas");
    }
}

打开GameManager.cs脚本

using System.Collections.Generic;
using UnityEngine;
public class GameManager : GameRoot{
    [HideInInspector]
    public InfoSystem infoSys;
    #region 41资源框架
    public GameObject player = null;
    public List<GameObject> monsters = new List<GameObject>();
    #endregion
    protected override void Awake(){
        infoSys = gameObject.AddComponent<InfoSystem>();
        infoSys.Init();
    }
    #region 41资源框架
    public void InitGame(){
        //后续放任务系对话Npc
        //TODO
        //放我们的角色
        GameObject playerPrefab = Resources.Load<GameObject>("Prefabs/Players/PlayerNormal");
        GameObject player = Instantiate(playerPrefab, new Vector3(-18f, 43, 0f), Quaternion.identity);
        player.name = "PlayerNormal";
        //end
        //放我们的怪物
        GameObject loadedMonsterKing = Resources.Load<GameObject>("Prefabs/Monsters/Boss01");
        GameObject boss01 = Instantiate(loadedMonsterKing, new Vector3(0f, 45, 0f), Quaternion.identity);
        boss01.name = "Boss01";
        monsters.Add(boss01);
        //end
    }
    #endregion
}

保存后运行项目

本章做了重构资源加载框架 后续按照框架的思想继续制作项目

下篇文章的内容:

1.Boss的有限状态机

2.窗口可拖拽脚本

3.点击名称寻找地点功能

4.隐藏怪物的生成

5.怪物I攻击范围内的主动攻击

6.掉落坐骑蛋的获取

7.异步传送转换场景

以及开放回合制、坐骑系统、宠物系统、背包系统、神炼系统、商城系统、Boss的目标跟随任务导航系统以及UI播放3D动画效果等等。

具体项目运行效果请关注water1024的b站视频项目演示《破碎纪元》

【Unity回合2.5D】破碎纪元_单机游戏热门视频 (bilibili.com)icon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1rZY4e9Ebs/?spm_id_from=333.999.0.0&vd_source=547091a95b03acfa8e8a9e46ef499cd6

标签:场景,项目,GameObject,void,41,文件夹,public,资源,加载
From: https://blog.csdn.net/weixin_69360830/article/details/142142528

相关文章

  • 个人项目
    个人项目这个作业属于哪个课程计科22级12班这个作业要求在哪里作业要求这个作业的目标完成个人项目,实现论文查重的功能,了解软件开发流程github:https://github.com/MIR-mIsTEo/3122004822-01一、完成PSP表格PSP2.1PersonalSoftwareProcessStages预估......
  • 个人项目
    这个作业属于哪个课程22级计科2班这个作业要求在哪里作业要求这个作业目标设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率Github地址:https://github.com/JiangJiazhe/JiangJiazhe项目设计......
  • 天空卫士项目荣获“2024 IDC 中国20大杰出安全项目 ”奖项 ,实力见证安全守护
    9月11日,IDC在上海圆满举办安全风险管控峰会,并现场官宣“2024IDC中国20大杰出安全项目(CSO20)”和“2024IDC中国CSO名人堂(十大人物)”奖项名单。联通软研院申报的联通邮件系统安全合规建设项目被评为“2024IDC中国20大杰出安全项目(CSO20)”。峰会现场聚集了近200位意见......
  • 深入解析 MyBatis:从理论到项目实例
    深入解析MyBatis:从理论到项目实例目录MyBatis概述MyBatis项目结构及作用核心概念详解分页功能的实现与深入剖析动态SQL缓存机制详解与Spring集成常见问题与深入分析完整项目示例总结1.MyBatis概述MyBatis是一个轻量级的持久层框架,使用SQL查询语句来访问数据......
  • 解决 Node.js 项目中的 Yarn 安装错误
    在开发Node.js项目时,我们经常需要依赖于各种包来增强项目功能。Yarn是一个流行的包管理工具,由Facebook推出,旨在提供更快、更安全、更可靠的依赖管理。然而,如果你在尝试运行项目时遇到了关于Yarn未安装的错误,这可能会阻碍你的开发流程。本文将指导你如何通过简单的步......
  • 【HBuilderX-从下载到项目创建】编程初学者适用的HBuilderX开发环境(超详细的)下载安装
    简介:HBuilderX是一款由DCloud公司开发的集成开发环境(IDE),专为前端开发设计,同时也支持多平台应用开发。它支持HTML、CSS、JavaScript、Vue、React、Uni-app等多种编程语言和框架,具备代码编辑、调试、测试等功能,并且提供了丰富的插件生态系统以扩展其功能。“......
  • 系统集成项目管理工程师只看教材能过吗?
    今天和一位同学私聊发现,他竟然还在用旧版的系统集成项目管理工程师教程在学习,我当时瞬间石化我马上想到了桃花源记中的这句话:“问今是何世,乃不知有汉,无论魏晋。”也许是去年年底考过之后,就再也没有关注过系统集成项目管理工程师考试,也就不知道上半年教程改版的事情了...所以我可能......
  • 个人项目
    作业GitHub地址https://github.com/Miaomia0QAQ/miaomiaoPSP表格PSP2.1PersonalSoftwareProcessStages预估耗时(分钟)实际耗时(分钟)Planning计划255Estimate估计这个任务需要多少时间2020Development开发5060Analysis需求分析(包括学习新技......
  • 创建一个Django项目
    步骤1:创建Django项目和应用创建Django项目:bashdjango-adminstartprojectmyprojectcdmyproject创建Django应用:bashpythonmanage.pystartappmyapp安装并配置DjangoRestFramework(如果尚未安装):bashpipinstalldjangorestframework将myapp和rest_f......
  • 个人项目:论文查重
    这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/CSGrade22-34这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13228这个作业的目标设计一个论文查重程序,了解软件开发流程gitHub项目地址https://github.com/Abaistudy......