Unity学习笔记(03):Unity C#模块化开发、基本数据类型、权限修饰符、const & readonly

这篇博客深入探讨Unity C#编程,包括游戏运行模式、帧频和FPS的原理,组件的代码入口,如Awake、Start和Update函数。此外,还介绍了模块化开发、基本数据类型(如整数、浮点数、逻辑和字符)以及C#的权限修饰符,如public、private和protected。文章进一步讲解了const和readonly的区别,以及名称空间的使用和简写方法。
摘要由CSDN通过智能技术生成

五、Unity C#编程

游戏运行模式
  • 程序首先初始化
  • 然后进入一个while(true)循环 检查是否有消息(包括鼠标事件等)
    若有消息 则处理后 然后计算 绘制场景
    程序处在这么一个大循环中 不断检查是否有事件 若有则处理
帧频

在while循环中 游戏会有一秒循环的次数 比如CPU可以一秒绘制80次画面
人对于画面的流畅感若到了60 其实已经非常流畅了
帧频若达到60 则可以不用继续提升了 若继续提升 其实也感觉不出来 而且会更加消耗CPU
因此 在绘制的时候可以看时间是否到达 若还没到 则sleep
1/60=0.0166秒 但比如只有0.01秒就全部处理完了 那么可以休眠0.0066秒 休眠是为了节约CPU

因此 在while中 有:

  • 事件处理(包括各种事件)
  • 绘制场景
  • 检测是否需要休眠(维持帧频在60左右)

若CPU比较低端 那么绘制速度会变慢 此时while会不断地绘制 就不会循环了

FPS

FPS有两个概念

  • 1、帧频 (Frames Per Second)
  • 2、第一人称射击 (First Person Shoot)

🚩组件的代码入口

每个节点都有多个组件
因此 组件是经常面对的开发模式

  • 当组件被挂载到节点的时候 会调用组件的一个函数:Awake
  • 当节点在while循环里 刷新前 会调用Start
  • 当节点在while循环里 要处理的时候 会调用Update
    每个while循环要处理的时候都会调用每个组件的Update
模块化开发 & 代码模块

实际上 组件成了很多入口的模块
因此 其实是根据Unity逻辑来开发模块

给Unity写代码 实际上是给Unity写代码模块

开发

先在Project的scripts里右键 -> Create -> C# Script 以创建一个C#代码块
在这里插入图片描述
此时的代码是一个组件 组件只有挂载到节点上才会在Unity的while里循环被调用
在Hierarchy右键 -> Create Empty 创建一个根节点
点击Add Component添加组件
在这里插入图片描述
点击Scripts 然后选择脚本即可:
在这里插入图片描述
双击Project里的脚本图标 即可打开Visual Studio编辑器
在这里插入图片描述
自动生成的代码:

using UnityEngine;
using System.Collections;

public class game_scene : MonoBehaviour {
   

	// Use this for initialization
	void Start () {
   
	
	}
	
	// Update is called once per frame
	void Update () {
   
	
	}
}

改一下:

using UnityEngine;
using System.Collections
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值