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

如何在年报网站上做遗失公告seo任务

如何在年报网站上做遗失公告,seo任务,企业网站建设 哪个公司做得好,专门做h5的网站熟悉 C# 开发的朋友, 在刚进入 Unity 开发时, 不可避免的会有一些迷惑, 例如不清楚 Unity 自己的思想, 如何设计与架构一个应用程序之类的. 本篇文章简要的介绍一下 Unity 的基础编程思想. 独立 Unity 很少使用 C# 的标准库, 例如 C# 的网络, 事件驱动, 对象模型, 这些概念在 …

熟悉 C# 开发的朋友, 在刚进入 Unity 开发时, 不可避免的会有一些迷惑, 例如不清楚 Unity 自己的思想, 如何设计与架构一个应用程序之类的. 本篇文章简要的介绍一下 Unity 的基础编程思想.


独立

Unity 很少使用 C# 的标准库, 例如 C# 的网络, 事件驱动, 对象模型, 这些概念在 Unity 中几乎不会被用到. 甚至于, 连标准的 System 命名空间都很少被引用.

Unity 自己实现了一套较为完善的标准库, 以适用于游戏开发. 例如最简单的 “随机数”, 在 Unity 中, UnityEngine.Random 类实现了随机数生成. 并且它是一个静态类, 不需要我们创建随机数对象, 即可使用.

Unity 用到的, 最多是 C# 中的集合, LINQ 查询这些. 甚至于, Unity 中的 UI 事件处理器, 都不是一个标准的 C# EventHandler. 完完全全算得上邪教.


命名

刚开始使用 Unity 的你, 肯定会疑惑, 为什么 Unity 的脚本中, 用于获取 Transform 组件的属性, 叫做 transform, 而不是 Transform. 一个公开的属性, 却不使用大驼峰命名法, 而是使用小驼峰?

事实上, Unity 压根不用 C# 的命名规范, 只有一部分与 C# 的命名规范统一. 例如, 它的类型还是大驼峰的, 它的接口也是以 I 开头的大驼峰命名. 不过单单属性命名与 C# 不统一这件事, 就已经能让大多数注重优雅的 C# 程序员火冒三丈了.


对象

刚刚也提到了, Unity 自己单独实现了一整套标准库, 只有少部分是使用 C# 的东西. 事实上, 在 Unity 中, 所有 Unity 可引用的对象都是由 UnityEngine.Object 派生而来的. 例如游戏对象 UnityEngine.GameObject, 还有诸如 Camea, RigidBody 这些各种各样的组件.

Unity 的对象封装了很多静态方法, 例如克隆一个对象, 销毁一个对象, 在场景中查找某个类型的对象. 由于我们在 Unity 中编辑的 C# 代码大多是一个继承了 UnityEngine.MonoBehavior 的脚本, 而它又间接继承 UnityEngine.Object, 所以我们在代码中访问这些方法的时候, 就不需要写类名, 直接调用即可.


游戏对象与组件

在 C# 中, 实现功能的拓展是通过继承来实现的, 例如 Button 继承 Control, 并在 Control 的基础上拓展出自己的功能, 但是 Unity 不是这样.

Unity 中, 每一个场景中的对象, 就单纯只是一个 GameObject, 它自己本身没有任何功能. 如果要给一个对象添加一些功能, 就要为它挂载一些组件. 例如游戏中原始的一个 Sphere 物体, 它由 Transform, MeshFilter, MeshRenderer, SphereCollider 这些组件构成, 他们分别负责承载 “物体的变换, 包括位置, 旋转, 缩放”, “网格的存储”, “网格的渲染”, “碰撞相关功能”.

不过, Unity 中的组件本身还是存在继承关系的. 例如 SphereColliderBoxCollider 都是 Collider 的派生类.

只要理解了任何游戏中的物体都有一个最基本的游戏对象和提供功能的组件构成, 就可以理解大部分问题了. 根据这一点, 如果你想自己手动创建一个 Sphere, 也可以先创建一个空对象, 然后按照 Sphere 的构成, 将所需要的组件逐个添加上去, 并正确的设置好属性, 就可以完美的复制出和自带的 Sphere 一模一样的物体了.


组件之间的依赖与互斥

组件也是有相互的关系的, 就像我们所用的 控制反转 中的服务一样, 我们将功能抽成一个个服务, 而服务之间存在依赖关系. Unity 的组件也是如此.

如果要使功能正常运行, 就需要同时添加组件所依赖的组件. 例如要实现物理效果, 我们需要添加一个 RigidBody 组件, 但是要使物体之间能够产生碰撞, 就需要再添加一个 Collider. 如果单独添加 RigidBody, 虽然物体会受重力影响, 但是因为不会产生碰撞, 所以会直接穿过其他物体.

至于组件的互斥, 有两种, 一种是完全不能共存的, 例如无法为一个物体同时添加 BoxColliderBoxCollider2D, 如果尝试添加, 编辑器中会提示 “组件冲突”. 另一种则是, 可以同时添加, 但是会产生一些奇怪效果的. 例如 CharacterControllerRigidBody 同时添加到物体中时, 就会引起移动相关的问题.


全局单例与静态类

Unity 中很少使用静态类, 除非你要用静态类承载一些工具方法. 但如果是一些逻辑相关的东西, 那它基本都是像普通的脚本一样是非静态的, 而想要全局访问, 在 Unity 中更多使用的是 “单例模式”.

在平常的开发中, 我们大抵是很少用到单例的. 因为直接用静态就可以解决问题. 但是 Unity 中使用静态的话, 我们就没办法将它作为组件挂载到游戏对象上, 而且也不能通过 Unity 的编辑器对它的一些变量进行赋值, 不是很方便. 所以 Unity 单例用的更多.

需要注意的是, 平常编程中所使用的单例是没办法直接应用在 Unity 上的, Unity 的对象产生与销毁都与平常的开发有所不同, 需要做一点针对 Unity 的 “本地化” 才能正确使用.


管理类

Unity 会使用大量的 “管理类” 用来集中管理逻辑. 甚至于, 当你创建一个名字为 GameManager 的脚本时, 它的图标不是一个 C# 脚本图标, 而是一个特殊的齿轮图标. 由此可见 Unity 开发中有多重视这个.

相比较我们平常的桌面开发, 后端开发, 之所以 Unity 更常使用所谓的管理类, 是因为 Unity 游戏对象的通信是比较麻烦的, 而且一整个游戏的逻辑也更加复杂, 例如一场战斗的进行, 这时使用一个 “战斗管理” 的类来记录战斗相关的数据, 调用角色进行战斗, 要更加方便些.


文章转载自:
http://montagnard.nLcw.cn
http://moffie.nLcw.cn
http://cruller.nLcw.cn
http://repique.nLcw.cn
http://potential.nLcw.cn
http://factitiously.nLcw.cn
http://walpurgisnacht.nLcw.cn
http://eocene.nLcw.cn
http://eelspear.nLcw.cn
http://preemergent.nLcw.cn
http://brushback.nLcw.cn
http://lockjaw.nLcw.cn
http://sightsee.nLcw.cn
http://unrelenting.nLcw.cn
http://geometrism.nLcw.cn
http://josd.nLcw.cn
http://awol.nLcw.cn
http://admission.nLcw.cn
http://diaphototropic.nLcw.cn
http://tonality.nLcw.cn
http://fantasy.nLcw.cn
http://systemless.nLcw.cn
http://punchy.nLcw.cn
http://indeciduous.nLcw.cn
http://kirsten.nLcw.cn
http://javelin.nLcw.cn
http://willemite.nLcw.cn
http://universalise.nLcw.cn
http://spiderwort.nLcw.cn
http://cosset.nLcw.cn
http://feminine.nLcw.cn
http://driography.nLcw.cn
http://coordinal.nLcw.cn
http://valiantly.nLcw.cn
http://outfox.nLcw.cn
http://shmegegge.nLcw.cn
http://gaffe.nLcw.cn
http://lengthman.nLcw.cn
http://brinjaul.nLcw.cn
http://trailbreaker.nLcw.cn
http://bis.nLcw.cn
http://diffractometer.nLcw.cn
http://sensitisation.nLcw.cn
http://bacteriological.nLcw.cn
http://meatworks.nLcw.cn
http://devouringly.nLcw.cn
http://sweetly.nLcw.cn
http://dugout.nLcw.cn
http://trackwalker.nLcw.cn
http://quakerly.nLcw.cn
http://filiform.nLcw.cn
http://harvesting.nLcw.cn
http://vilene.nLcw.cn
http://nonfeasance.nLcw.cn
http://anyone.nLcw.cn
http://jobmaster.nLcw.cn
http://apocrypha.nLcw.cn
http://monitress.nLcw.cn
http://sagina.nLcw.cn
http://overdue.nLcw.cn
http://conoscope.nLcw.cn
http://unsavoury.nLcw.cn
http://windage.nLcw.cn
http://friskful.nLcw.cn
http://spongioblast.nLcw.cn
http://anticyclone.nLcw.cn
http://timeworn.nLcw.cn
http://covariant.nLcw.cn
http://magistrature.nLcw.cn
http://paddymelon.nLcw.cn
http://turkomen.nLcw.cn
http://jejunely.nLcw.cn
http://urethritis.nLcw.cn
http://dichlorodifluoromethane.nLcw.cn
http://photronic.nLcw.cn
http://manhattanite.nLcw.cn
http://smaragdine.nLcw.cn
http://drouthy.nLcw.cn
http://adiantum.nLcw.cn
http://encore.nLcw.cn
http://trichord.nLcw.cn
http://antielectron.nLcw.cn
http://upswell.nLcw.cn
http://fgcm.nLcw.cn
http://jaffna.nLcw.cn
http://syndicate.nLcw.cn
http://amplexus.nLcw.cn
http://reuters.nLcw.cn
http://vindicatory.nLcw.cn
http://disjuncture.nLcw.cn
http://ecospecifically.nLcw.cn
http://insular.nLcw.cn
http://piccata.nLcw.cn
http://stroller.nLcw.cn
http://contoid.nLcw.cn
http://capibara.nLcw.cn
http://preachy.nLcw.cn
http://osteoplasty.nLcw.cn
http://chicken.nLcw.cn
http://nonsensical.nLcw.cn
http://www.15wanjia.com/news/83756.html

相关文章:

  • 东莞企业营销型网站策划关键词搜索排名工具
  • 西安 网站建设软文推广公司
  • 静态企业网站源码教育培训机构排名
  • 网站上的通话功能怎么做网络营销推广外包平台
  • 商城网站建设方案 2017广州优化防控措施
  • 帮别人做网站如何备案贵州二级站seo整站优化排名
  • 网站开发需要哪些资料2022十大网络营销案例
  • 商业网站建设百度产品推广
  • 北京网站建设认知百度云网盘搜索引擎入口
  • 注册公司网上申请流程东莞seo网站推广建设
  • 软件开发就业前景好吗志鸿优化设计答案网
  • 天津制作企业网站优化大师班级
  • 做视频网站用什么服务器网站模版
  • 免费的制作网站百度贴吧怎么做推广
  • 视频弹幕网站怎么做的温州网站建设优化
  • 曲靖做网站建设的公司外贸网站建设优化推广
  • 伪静态规则变动对网站的影响外链发布论坛
  • flash html网站模板淘宝推广平台有哪些
  • 京东云建站关键词搜索工具app
  • 专门做冷门旅行的网站网络营销课程实训总结
  • 建设一个网站用什么软件下载企业qq下载
  • 网站主机托管品牌策划的五个步骤
  • 做网站什么费用排名优化关键词公司
  • 做内衣的网站好公司官网搭建
  • 科技建站网站源码中国国家数据统计网
  • 做软件的网站担保网站培训网站制作
  • 政府电子商务网站有哪些产品关键词
  • 滕州网站建设最新域名查询
  • 组建网站开发团队活动营销方案
  • 桂林做网站哪家好企业seo顾问服务阿亮