框架理解(Unity(C#))

2023-11-17


前言

对框架的理解


提示:以下是本篇文章正文内容,下面案例可供参考

一、什么是框架?

就是整理自己的东西把它们做成几个不同类型的代码大集合,可以理解为一个毛坯房,有了这个毛坯房你可以将他装修成自己想要的样子,而不需要再一砖一瓦的去盖房子(省略了你盖房子主体架构这些步骤)

二、怎么做框架(这里讲的是Unity(C#))

1.沟通后端的url集合(理解为数据集,命名空间/接口也理解为数据集)

代码如下(示例):

//随便敲几个,反正就是把需要用的静态值或者接口直接放一块,需要用时再调用
public string baseNetwork;
public string videoUrl;
string baseNetwork = https://www.bilibili.com/;
string videoUrl = video/BV1Cw411d74e?spm_id_from=333.851.b_7265636f6d6d656e64.4;

3.做协程或方法(理解为具体方法的实现集)

示例代码如下

        /// <summary>
        /// 下载图片专用协程
        /// </summary>
        /// <param name="thumbnail"></param>
        /// <param name="action"></param>
        /// <returns></returns>
        public static IEnumerator loadTexture(string thumbnail, Action<Texture> action = null)
        {
            using (UnityWebRequest quest = UnityWebRequestTexture.GetTexture(thumbnail)) // 或者直接用 new UnityWebRequest(url)
            {
                yield return quest.SendWebRequest();

                if (!(quest.isNetworkError || quest.isHttpError))
                {
                    var texture = DownloadHandlerTexture.GetContent(quest); //downloadTexture.texture;
                    action(texture);
                }
            }
            yield return 0;
        }

3.用委托的方法去做(理解为预备方法集)

代码我就不敲了,就是解耦的去运行,相互之间不会影响,而且代码看上去不会乱,调用的时候好调用


总结(为什么做框架)

框架可以帮助省略掉一些基本的相同底层代码的反复书写,只需调用框架的方法就可以实现你想要的功能。学习框架的目的就是提高项目的编写效率,使你可以有更多的时间去编写属于自己独特的东西,而不需要将大量的时间花费在底层代码的书写上。
这就是萌新对框架的理解,大佬觉得不对的可以指点指点,谢谢您!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

框架理解(Unity(C#)) 的相关文章

  • 对 std::vector 进行排序但忽略某个数字

    我有一个std vector
  • Python 属性和 Swig

    我正在尝试使用 swig 为一些 C 代码创建 python 绑定 我似乎遇到了一个问题 试图从我拥有的一些访问器函数创建 python 属性 方法如下 class Player public void entity Entity enti
  • 如何在不更改手机语言的情况下更改Android应用程序语言?

    我希望用户在应用程序内选择一种语言 选择语言后 我希望字符串使用特定语言 如果我更改手机语言 那么我的应用程序将以设置的语言运行 我无法找到任何在不更改手机语言的情况下设置语言的方法 此外 一旦设置了语言 更改就应该反映出来 有人可以建议一
  • 使用 LINQ to SQL 时避免连接超时的最佳实践

    我需要知道在 net 应用程序中使用 LINQ to SQL 时避免连接超时的最佳实践 特别是在返回时IQueryable
  • 在Linux中,找不到框架“.NETFramework,Version=v4.5”的参考程序集

    我已经设置了 Visual studio 来在我的 Ubuntu 机器上编译 C 代码 我将工作区 我的代码加载到 VS 我可以看到以下错误 The reference assemblies for framework NETFramewo
  • 调节麦克风录音音量

    我们正在尝试调整录音时的音量级别 麦克风似乎非常敏感 会接收到很多静电 我们查看了 setVolumeControlStream 但找不到传入其中来控制麦克风的流 将您的音频源设置为 MIC using MediaRecorder Audi
  • 为什么可以通过ref参数修改readonly字段?

    考虑 class Foo private readonly string value public Foo Bar ref value private void Bar ref string value value hello world
  • Android 设备上的静默安装

    我已经接受了一段时间了 在 Android 上静默安装应用程序是不可能的 也就是说 让程序安装捆绑为 APK 的应用程序 而不提供标准操作系统安装提示并完成应用程序安装程序活动 但现在我已经拿到了 Appbrain 快速网络安装程序的副本
  • 打破 ReadFile() 阻塞 - 命名管道 (Windows API)

    为了简化 这是一种命名管道服务器正在等待命名管道客户端写入管道的情况 使用 WriteFile 阻塞的 Windows API 是 ReadFile 服务器已创建启用阻塞的同步管道 无重叠 I O 客户端已连接 现在服务器正在等待一些数据
  • GMSMapView 中的倒多边形

    我必须在我的 iPhone 项目中使用 Google 地图 并且我正在使用 GMSPolygon 来绘制多边形 但是如何填充地图上除多边形内部之外的所有位置 就像下图一样 谢谢 我玩过你的问题 主要思想是用多边形填充整个地球 然后为您的特定
  • 在 NaN 情况下 to_string() 可以返回什么

    我使用 VS 2012 遇到了非常令人恼火的行为 有时我的浮点数是 NaN auto dbgHelp std to string myFloat dbgHelp最终包含5008角色 你不能发明这个东西 其中大部分为0 最终结果是 0 INF
  • C++ int 前面加 0 会改变整个值

    我有一个非常奇怪的问题 如果我像这样声明一个 int int time 0110 然后将其显示到控制台返回的值为72 但是当我删除前面的 0 时int time 110 然后控制台显示110正如预期的那样 我想知道两件事 首先 为什么它在
  • 等待 IAsyncResult 函数直至完成

    我需要创建等待 IAsyncResult 方法完成的机制 我怎样才能做到这一点 IAsyncResult result contactGroupServices BeginDeleteContact contactToRemove Uri
  • WPF DataGridTemplateColumn 组合框更新所有行

    我有这个 XAML 它从 ItemSource 是枚举的组合框中选择一个值 我使用的教程是 http www c sharpcorner com uploadfile dpatra combobox in datagrid in wpf h
  • 用 UIView 像翻书一样翻页?

    我正在尝试在之间切换UIViews让它看起来就像你正在翻书的一页 The UIViewAnimationTransitionCurlUp如果我能让它向左或向右卷曲 那就非常接近了 这可能吗 我尝试过使用CATRansition但没有一种动画
  • 打印大型 WPF 用户控件

    我有一个巨大的数据 我想使用 WPF 打印 我发现WPF提供了一个PrintDialog PrintVisual用于打印派生的任何 WPF 控件的方法Visual class PrintVisual只会打印一页 因此我需要缩放控件以适合页面
  • WebBrowser.Print() 等待完成。 。网

    我在 VB NET 中使用 WebBrowser 控件并调用 Print 方法 我正在使用 PDF 打印机进行打印 当调用 Print 时 它不会立即启动 它会等到完成整个子或块的运行代码 我需要确保我正在打印的文件也完整并继续处理该文件
  • 在 Windows Phone silverlight 8.1 上接收 WNS 推送通知

    我有 Windows Phone 8 1 silverlight 应用程序 我想使用新框架 WNS 接收通知 我在 package appxmanifest 中有
  • 可访问性不一致:参数类型的可访问性低于方法

    我试图在两个表单之间传递一个对象 基本上是对当前登录用户的引用 目前 我在登录表单中有一些类似的内容 private ACTInterface oActInterface public void button1 Click object s
  • 无法运行我的应用程序,要求选择 Android SDK

    今天我已经安装了Android Studio 金丝雀 1 现在我无法运行我的应用程序 将出现以下对话框 我已经通过 文件 gt 项目结构 gt Android SDK 位置 设置了正确的 SDK 位置 期待您的帮助来解决这个问题 警告对话框

随机推荐

  • 校友全剧透CMU :ME + 转CS + 其他主要项

    在CMU待了一个半学期了 对于留学 对于CMU 对于ME 对于转CS 对于CMU其它各种项目都了解的更多了一些 也有不同的体会 我想这篇文章应该会对任何一个申请了CMU 或者想申请CMU 甚至每一个想要出国留学的人都会有一点帮助 写下面这些
  • Easy-Es核心功能深度介绍

    背景 近期随着项目开源后热度的不断上涨 越来越多小伙伴开始对框架核心功能感兴趣 今天就让我带大家深入源码和架构 一起探索Easy Es 简称EE 的核心功能是如何被设计和实现的 和众多ORM框架一样 EE最为核心的功能就是CRUD 增删改查
  • selenium3之selenium-server-standalone-3.8.1.jar启动

    查看安装的selenium版本 下载对应版本的selenium server 下载地址 http selenium release storage googleapis com index html 需要先安装JDK 自行百度安装 启动se
  • Linux的NFS共享目录操作步骤

    首先准备两台Linux 一台服务器 一台客户机 IP地址可自行设置 两台防火墙都要关闭 配置服务器IP地址 172 20 10 11 配置客户机IP地址 172 20 10 12 先关闭防火墙 systemctl stop filewall
  • 【JavaScript】页面加载 解决Uncaught TypeError: Cannot set property of undefined at

    在初学js的时候 有同学会遇到 Uncaught TypeError Cannot set property onmouseover of undefined at html 的问题 这个问题牵扯到页面加载顺序的问题 我们知道 页面的加载顺
  • 使用Prometheus+Grafana+Spring Boot Actuator监控应用

    在企业级的应用中 监控往往至关重要 监控可以帮助我们预防故障 预测变化趋势 在达到阈值的时候报警 为排查生产问题提供更多的信息 如果我们不知道我们程序的运行情况 当线上系统出现了事故再去排查就需要花费更多的时间 如果能提前监控 就能早做准备
  • VScode的PHP远程调试模式Xdebug

    目录 第一步 安装VScode中相应插件 remote ssh的原理 ssh插件 PHP相关插件 第二步 安装对应PHP版本的xdebug 查看PHP具体配置信息的phpinfo页面 1 首先 打开php编辑器 新建一个php文件 例如 i
  • CentOS7下rsync实现服务器之间实时同步

    rsync简介 rsync是类unix系统下的数据镜像备份工具 使用快速增量备份工具Remote Sync可以远程同步 支持本地复制 或者与其他SSH rsync主机同步 文章主讲实际操作 不再进行详细叙述 想要了解更多可以查看百度百科 一
  • QT 编译报错“QWidget: Must construct a QApplication before a QWidget”

    一 错误原因 1 在构造QApplication之前创建了部件 某个类或者其子类中采用了静态的qWidget或者其子类 由于静态或者全局对象在 main 之前就产生了 所以 早于main 里的QApplication对象 2 混用 debu
  • Python实现敏感词过滤

    在我们生活中的一些场合经常会有一些不该出现的敏感词 我们通常会使用 去屏蔽它 例如 尼玛 gt 一些骂人的敏感词和一些政治敏感词都不应该出现在一些公共场合中 这个时候我们就需要一定的手段去屏蔽这些敏感词 下面我来介绍一些简单版本的敏感词屏蔽
  • 【面试真题】今日头条大数据面试100题,收藏备用

    1 简述WordCount 的实现过程 2 简述MapReduce与 Spark 的区别与联系 3 Spark 在客户端与集群运行的区别 4 相同的 SQL 在 HiveSql 与 SparkSQL 的实现中 为什么 Spark 比 Had
  • Android MVC、MVP、MVVM、MVI架构对比及示例

    随着Android应用开发技术的不断成熟 应用功能越来越丰富 迭代速度要求的越来越高 应用的开发架构也在不断演进 优化 从MVC MVP到MVVM 到如今的MVI 谷歌官方也在不断推广 优化适合Android平台的开发架构 并推出了一系列的
  • centos7部署openwhisk

    实验环境 Openwhisk 192 168 1 36 make lean部署 Fn project 192 168 1 35 Openwhisk核心提炼 环境准备 nodejs12 curl sL https rpm nodesource
  • RateLimiter 的底层实现是啥?

    点击上方 Java基基 选择 设为星标 做积极的人 而不是积极废人 源码精品专栏 原创 Java 2020 超神之路 很肝 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 Rock
  • 本地docker搭建jupyter运行环境

    1 容器操作 1 拉取镜像 docker pull ubuntu 2 创建容器 创建容器时要先考虑好自己要开设几个端口 要提前指定好映射关系 docker run dit name LocalDocker p 3303 8888 p 330
  • proteus设计教程-DS1302时钟芯片驱动程序

    时钟芯片DS1302电路图如下 晶振X1的频率为32 768khz 读写时间只需要调用void read time void write time 两个函数进行操作 直接读取出来的数据是BCD码的形式 需要进行转换 最后提供的两个函数to
  • TypeError: 'float' object is not callable报错及解决方案

    今天进行scikit learn的特征选择实验时 一段非常短的代码不知为何总是报错 代码如下 Filename FeatureV1 py from sklearn feature selection import VarianceThres
  • form表单上传数据的三种方式(ajax传递 / FormData文件 / serialize序列化传递 )

    Form表单数据上传 前言 一 HTML结构 下方所有上传方式 都依托这个结构 二 通过post请求的形式 直接传递对应的参数数据 三 formData上传数据 文本 文件 视频 图片等 四 form表单数据序列化 serialize将传递
  • du命令_set命令选项

    文章目录 set 选项 du set 选项 set e 当脚本中任何一个命令执行返回的状态码不为0时就退出整个脚本 默认脚本运行中某行报错会继续往下执行 set u 当脚本在执行过程中尝试使用未定义过的变量时 报错并退出运行整个脚本 默认会
  • 框架理解(Unity(C#))

    文章目录 前言 一 什么是框架 二 怎么做框架 这里讲的是Unity C 1 沟通后端的url集合 理解为数据集 命名空间 接口也理解为数据集 3 做协程或方法 理解为具体方法的实现集 3 用委托的方法去做 理解为预备方法集 总结 为什么做