当前位置: 首页 > news >正文

编辑器开发基础介绍+编辑器检视面板简单扩展1

Unity热更新

热更新(游戏流程)

        应用商店下载游戏

        点击图标,运行游戏

        *游戏更新中

                资源解压中,请不要关闭

                更新下载中,更新解压中,更新成功

        游戏界面

插件了解

        DOTween:UI动画

        NGUI:场景UI制作

        PlayMaker:图形化编写游戏逻辑工具

查看dll内部代码

        百度:C# dll 反编译

什么是编辑器开发

        对编辑器实现功能扩展,一般会使用它开发项目工具或实现Unity插件

C#特性

        [System.Serializable]

        用于在C#运行时,传递程序中各种元素(类,结构体,变量,方法,枚举,组件)的行为信息的声明标签。一个声明标签是通过放置在它所在应用元素的前面的方括号“[]”中来描述。

特殊目录

        回顾

                Plugins:需要跨语言调用的代码逻辑代码存储目录,手机SDK接入

                Resources:存储跟随游戏包的资源目录

                StreamingAssets:只读,存储跟随游戏包的资源目录

        编辑器目录:Editor

                制作多目录合并

                例:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MultiResource : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        Object cube = Resources.Load("Cube");
        GameObject obj1=Instantiate(cube) as GameObject;
        Object sphere = Resources.Load("Sphere");
        GameObject obj2 = Instantiate(sphere) as GameObject;
    }
}

 

                项目中建立的Editor目录,编辑器相关的逻辑和资源会放在其内部,相关内容,在打包生成时,不会一起生成到项目中,玩家也不会使用到编辑器相关的内容。Editor目录下的脚本,无法挂载在场景对象下。

命名空间

        Unity代码逻辑命名空间:UnityEngine

        Unity编辑器命名空间:UnityEditor,此命名空间,不要出现在游戏被发布的逻辑代码中,会导致项目打包失败!

常见检视面板设置:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//对象如果不标记为可序列化,则Unity在存储的时候,会认为他不可被序列化,那么也就无法被显示
//Unity的内置Json工具运行原理与之类似
[System.Serializable]
public class Numerical
{
    public int Atk;
    public int Def;
}
public class SimpleInspector : MonoBehaviour
{
    //隐藏公共成员变量,防止Inspector的值影响到它
    //同时保证脚本中变量的可访问度
    [HideInInspector]
    public int ID = 99;
    //私有变量,检视面板可见
    //Unity会将对象进行序列化存储,所以即使是私有的,那么标记为可序列化后,
    //就会显示,公有默认可序列化
    [SerializeField]
    private string Name;
    //检视面板显示对象
    public Numerical Num;
    
    //把当前成员变量上方留50像素空白区域
    [Space(50)]    
    //当前成员变量上方加入一个标题文字
    [Header("年龄")]    
    //添加变量悬浮提示文字
    //一个成员变量可以添加多个特性
    [Tooltip("不要填写大于150岁的年龄")]
    //给数值设定范围(最小0,最大150)
    [Range(0,150)]
    public int age;
    
    //指定输入框,拥有5行
    [Multiline(5)]
    public string NickName;

    //默认显示5行,最多显示10行内容,再多用混动条控制显示区域
    [TextArea(5,10)]
    public string Description;
    public Texture Tex;
    public Color Flag;
    public List<string> Tags;
}

在Inspector面板的显示情况如图:

  该系列专栏为网课课程笔记,仅用于学习参考。      

        

相关文章:

  • QT文件操作(QT实操学习3)
  • 如何新建一个springboot单体项目
  • Jmeter的压测使用
  • 算法刷题记录——LeetCode篇(1.4) [第31~40题](持续更新)
  • Vue 入门到实战 十一 Vuex
  • Vue2+Vue3 1~45集学习笔记
  • QT初级使用教程
  • 国内常用镜像源地址汇总及使用示例
  • Oracle 数据库系统全面详解
  • 如何在Windows服务器上搭建RADIUS认证服务器,有哪些开源方案和付费解决方案
  • AutoDIR: Automatic All-in-One Image Restoration with Latent Diffusion 论文阅读 ECCV
  • Ubuntu 22.04 上安装 VS Code
  • 腾讯云大模型知识引擎驱动DeepSeek满血版能源革命大模型:架构、优势与产业变革
  • linux下DLT Daemon和DLT viewer的安装
  • 网页版五子棋项目的问题处理
  • Spring Boot 非web应用程序
  • 2025年3月29日(matlab -ss -lti)
  • 宝塔面板面试内容整理-Web管理功能
  • 鸿蒙篇:vp、fp、px
  • MCP - 使用 BlenderMCP 让 Claude AI 控制你的 Blender 模型创作
  • 平台推广公司/seo日常工作都做什么的
  • 网站策划书基本项目/站内搜索工具
  • 湖南经营性网站备案/网络营销的方法
  • 为什么网站突然打不开/宽带营销案例100例
  • 做特价网站/游戏优化是什么意思
  • a站是指哪个网站/论坛推广的特点