笔记_Unity中的C#编程_112-116

这篇具有很好参考价值的文章主要介绍了笔记_Unity中的C#编程_112-116。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Unity中的C#编程 B站112-116

.NET dotent简介

Microsoft新一代多语言的开发平台,用于构建和运行应用程序

C#

Microsoft 专为.NET推出的高级语言

##Mono

NOvell公司支持在其他操作系统下开发.NET程序的框架

Unity借助Mono实现跨平台,核心是.NET Framework 框架


脚本是附加在游戏物体上用于定义游戏对象行为的指令代码,就是.cs的文本文件,也就是类文件。 附加到游戏物体中,定义游戏对象行为指令的代码。

Unity支持三种高级编程语言:

C#,javaScript和Boo Script

语法结构

using 命名空间(避免类的重名);
public class 类名:MonoBehaviour
{
void 方法名()
	{
	Debug.Log("显示调试信息");
	print("本质就是Debug.Log方法");
	}
}
  • 文件名与类名必须一致(不一致就会导致编译失败)
  • 写好的脚本必须附加到物品上才执行
  • 添加到游戏物体的脚本类必须从MonoBehaviour类继承

在Unity中通过菜单设置修改默认的脚本编辑器:(Unity和vs没有连上的话可以修改这个)

Edit -> Preferences -> External Tools -> External Script Editor

脚本的生命周期

就是 Unity 脚本从唤醒到销毁的过程。也叫必然事件,也叫消息。

如果在编码过程中出现“不一致的行尾提示框”的话,直接点 “是” 就行了。

//序列化字段  作用:在编辑器中显示私有变量,想让别人看到,又不想让别人修改
[SerializeField]
private int a = 100;

//作用:在编辑器中隐藏字段,不希望你在编辑器里修改它,别人能够修改,但是又不想让别人看到他
[HideInInspector]
public int b;

//作用:设置范围
[Range(0,100)]
public int c;

不要在脚本里面写构造函数

  • Awake 唤醒: 当物体载入时立即调用一次;常用于在游戏开始前进行初始化,可以判断当满足某种条件执行此脚本 this.enable=true.

  • OnEnable 当可用: 每当脚本对象启用时调用

  • Start 开始:物体载入且脚本对象启用时被调用1次,常用于数据或者游戏逻辑初始化,执行时机晚于Awake

  • FixedUpdate 固定更新:脚本启用后,固定时间被调用,适用于游戏对象做物理操作,例如移动等。

↑设置更新频率: Edit -> Project Setting -> Time -> Fixed Timestep值,默认为0.02S

  • OnCollisionXXX碰撞: 当满足碰撞条件时调用。

  • OnTriggerXXX触发:当满足触发条件时调用。

  • Update 更新:脚本启用后,每次渲染场景时调用,频率与设备性能及渲染量有关

  • lateUpdate 延迟更新:在Update函数被调用后,适用于跟随逻辑。

  • 输入事件↓

  • OnMouseEnter 鼠标移入:鼠标移入到当前Collider时调用

  • OnMouseOver 鼠标经过:鼠标经过当前Collider时调用

  • OnMouseExit 鼠标离开:鼠标离开当前Collider时调用

  • OnMouseDown 鼠标按下:鼠标按下当前Collider时调用

  • OnMouseUp 鼠按抬起:鼠标在当前Collider上抬起时调用

  • 场景渲染↓

  • OnBecameVisible 当可见: 当Mesh Renderer 在任何相机 可见时调用

  • OnBecameInvisible 当不可见:当Mesh Renderer 在任何相机上都不可见时调用

  • 结束阶段↓

  • OnDisable 当不可用:对象变为不可用或附属游戏对象非激活状态时此函数被调用

  • OnDestory 当销毁:当脚本销毁或附属的游戏对象被销毁时被调用

  • OnAppliacationQuit 当程序结束:应用程序退出时被调用文章来源地址https://www.toymoban.com/news/detail-419658.html

      public class Demo01 : MonoBehaviour
      {
      // Start is called before the first frame update
      public int a = 100;
    
          public int A
          {
              get
              {
                  return this.a;
              }
              set
              {
                  this.a = value;
              }
          }
      
          //*************初始阶段***********
      
          //Awake的执行时机:创建游戏对象,立即执行   永远是Awake先执行,Start后执行
          //作用:初始化
          
          private void Awake()
          {
      
             // Debug.Log("Awake--" + Time.time+this.name);
          }
          //Start的执行时机:创建游戏对象,脚本启用之后,才执行
          //作用:初始化
          private void Start()
          {
              Debug.Log("Start--" + Time.time+this.name);
          }
          //*************物理阶段**************
          //FixedUpdate固更新的执行时机:每隔固定时间执行一次。(时间可以修改)
          //适用性:适合对物体做物理操作(移动、旋转。。。。。),不会受到渲染的影响
          private void FixedUpdate()
          {//渲染时间不固定(美珍渲染量不同、机器性能不同)
              Debug.Log(Time.time);
          }
          //Update执行时机:渲染帧执行.执行间隔不固定
          //适用性:处理游戏逻辑
          private void Upadate()
          {
      
          }
    
      }
    

到了这里,关于笔记_Unity中的C#编程_112-116的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity C#编程基于《C#高级编程第12版》——C#基础

    类 : 编程中的一种 抽象 的数据类型(用于表现存储数据的类型)。用于描述一组具有相同属性和行为的对象(例如:狗、猫、鸡羊可看作是一个对象,狗的属性可以是名字、花色、体重,行为可以有吃东西,跑步)。 通过类可以方便的实例化出相同类型的对象(前面举例

    2024年01月23日
    浏览(47)
  • Unity 游戏开发、03 基础篇 | C#初级编程

    https://learn.u3d.cn/tutorial/beginner-gameplay-scripting Update(不是按固定时间调用的) 经常用于 移动非物理特性的物体(不是物理对象) 简单定时器 接收输入 FixedUpdate(调用时间间隔相同) 进行任何必要的物理计算(任何物理对象) 最好使用力来定义移动 使用 IDE 的 Unity Event Func

    2024年02月08日
    浏览(65)
  • c# 学习笔记 - 异步编程

    1.1 简单介绍   异步编程官方参考文档:异步编程     1.2 async/await 使用   细节注意 async 用来修饰方法,表示这个方法可以成为一个异步方法,但是如果内部没有搭配使用 await 的话其作用还是等效于一个同步方法 await 必须用于在 async 修饰的异步方法内使用,

    2024年01月18日
    浏览(54)
  • C# 中的多线程和异步编程

    最近在看代码的过程中,发现有很多地方涉及到多线程、异步编程,这是比较重要且常用的知识点,而本人在这方面还理解尚浅,因此开始全面学习C#中的多线程和异步编程,文中部分内容摘抄自一位前辈的网站:网址链接,为了更便于理解和学习,本人还在个别地方做了一

    2023年04月08日
    浏览(50)
  • Unity和C#游戏编程入门:创建迷宫小球游戏示例

    💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】 🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】 💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 当涉及到Unity和C#游戏编程入门时,以下是一些示例代码,可以帮助初学者更好地理

    2024年02月08日
    浏览(40)
  • leetcode做题笔记112. 路径总和

    给你二叉树的根节点  root  和一个表示目标和的整数  targetSum  。判断该树中是否存在  根节点到叶子节点  的路径,这条路径上所有节点值相加等于目标和  targetSum  。如果存在,返回  true  ;否则,返回  false  。 叶子节点  是指没有子节点的节点。 本题要判断是否根

    2024年02月10日
    浏览(41)
  • LeetCode笔记:Biweekly Contest 112

    LeetCode笔记:Biweekly Contest 112 0. 吐槽 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 比赛链接:https://leetcode.com/contest/biweekly-contest-112/ 这一次的双周赛题目委实是有点水了,难怪第一名的

    2024年02月10日
    浏览(36)
  • Unity笔记:C#基础(1)

    CSDN - C++虚函数详解 cnblog - C#中的虚函数virtual 在C#中,string是不可变的,这意味着对string对象的操作通常会返回一个新的string对象,而不会修改原始的string对象。因此,几乎所有涉及更改string内容的方法都会返回一个新的string对象。 String s = new String(\\\"xyz\\\") 在内存中产生了多少

    2024年03月23日
    浏览(37)
  • Unity使用c#开发遇上的问题(一)(c#中无法引入input,双击unity中的c#文件无反应,unity中刚体设置后仍然穿越问题)

    闲着无聊,想用unity编一编小游戏,遇上的坑(一) 我使用的是vs2019,unity版本是2022.1,下载器Hub。 在asset中创建c#脚本移动cube。在写入X,Y偏移量时没有unity引擎的Input函数。 解决方法: 1.首选项中设置中文语言。

    2024年02月07日
    浏览(59)
  • 浅谈C#在unity应用中的工厂模式

    工厂模式是一种 创建型 设计模式,它提供了一种将对象的实例化过程封装起来的方法,使得客户端代码不必直接依赖于具体类。这有助于降低代码的耦合度,提高代码的可维护性和可扩展性。在C#中,有三种常见的工厂模式: 简单工厂模式 、 工厂方法模式 和 抽象工厂模式

    2024年02月04日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包