UNITY-C#基础知识

1.定义变量

Unity 3D 脚本挂到某个 Unity 3D 对象上,在 Unity 3D 的属性面板中就会显示出该脚本中的各个公共变量。开发人员也可以在属性面板中对公共变量的值进行设置,设置后的值将会影响脚本的运行,相当于在脚本中对该变量进行了赋值。

2.数据类型

1.整数
2.浮点
3.布尔
4.字符
5.引用
引用类型是构建 C# 应用程序的主要数据类型,C# 的所有引用类型均派生自 System.Object。
引用类型可以派生出新的类型,也可以包含空(null)值。引用类型变量的赋值只复制对象的引用,而不复制对象本身。 
6.枚举类型 
枚举类型为定义一组可以赋给变量的命名整数常量提供了一种有效的方法。
使用枚举类型可以增强程序的可读性,在 C# 中使用关键字 enum 类声明枚举类型的变量,格式如下:
enum枚举名称
{ 
常量1=值1;
常量2=值2;
?
常量n=值n
}

3.变量的声明

类型+变量名(名1,名2,名3);
在 C# 的变量声明之前还可以添加访问修饰符:
    private(默认修饰符),只能在本类中访问。
    protected,只能在类或派生类中访问。
    internal,只能在本项目中访问。
如果想让脚本中定义的变量在 Unity 3D 中的 Inspector 面板上显示,必须用 public 修饰

4.语句

1.IF:
if(布尔表达式){
            如果布尔表达式为真执行的语句
        }else{
            如果布尔表达式为假执行的语句
        }
 2.if多个判断
 if(布尔表达式1)
        {当布尔表达式1为真时执行的语句}
        else if(布尔表达式2)
        {当布尔表达式2为真时执行的语句}
        else if(布尔表达式3)
        {当布尔表达式3为真时执行的语句}
        else
        {当上面的条件都不为真时执行的语句}
3.Swith语句
 switch(值)
        {
        case值1:语句1;
        break;
        case值2:语句2;
        break;
        ····
        case值n:语句n;
        break;
        }
 4. do..while
    do{
        语句
        }while(条件); 
条件表达式出现在循环的尾部,所以循环中的语句会在条件被测试之前至少执行一次。如果条件为真,控制流会转回上面的 do,重新执行循环中的语句。这个过程会不断重复,直到给定条件变为假为止。
 
5.while
 while(条件)
      {语句}
 在 C# 中 while 循环是常用的一种循环语句,while 循环的特点是直到条件为假时才跳出循环。
while 循环的关键点是循环可能一次都不会执行。当条件测试的结果为假时,会跳过循环主体,直接执行 while 循环的下一条语句。
​
6.for
for 循环适合指定循环次数的应用,在使用时,需初始化一个作为计数器的变量值。
for(int i=1;i<=10;i++){
      Console.WriteLine("{0}, i");
        }

5.函数

1.预先载入库
using UnityEngine;
using System.Collections;
public class NewBehaviourScript:MonoBehaviour
{
其中,NewBehaviourScript 是脚本的名称,它必须和脚本文件的名称一致(如果不同,脚本无法在物体上被执行)。
}
2.Update()
正常更新,创建 JavaScript 脚本时默认添加这个方法,每一帧都会由系统调用一次该方法.
3.LateUpdate()
推迟更新,此方法在 Update() 方法执行完后调用,每一帧都调用一次。
4.FixedUpdate()
置于这个函数中的代码每隔一定时间执行一次。
5.Awake()
脚本唤醒,用于脚本的初始化,在脚本生命周期中执行一次。
6.Start()
在 Update() 之前、Awake() 之后执行。Start() 函数和 Awake() 函数的不同点在于 Start() 函数仅在脚本启用时执行。
7.OnDestroy()
当前脚本销毁时调用。
8.OnGUI()
绘制游戏界面的函数,因为每一帧要执行多次,所以一些时间相关的函数要尽量避免直接在该函数内部使用。
9.OnCollisionEnter()
当一个游戏对象与另外的游戏对象碰撞时执行这个函数。
10.OnMouseDown()
当鼠标在一个载有 GUI 元素(GUI Element)或碰撞器(Collider)的游戏对象上按下时执行该函数。
11.OnMouseOver()
当鼠标在一个载有 GUI 元素或碰撞器的游戏对象上经过时执行该函数。
12.OnMouseEnter()
鼠标进入物体范围时执行该函数。和 OnMouseOver() 不同,OnMouseEnter() 函数只执行一次。
13.OnMouseExit()
鼠标离开物体范围时执行该函数。
14.OnMouseUp()
当鼠标释放时执行该函数。
15.OnMouseDrag()
按住鼠标拖动对象时执行该函数。

摄像机参数设置

参数  描述  功能
Clear Flags 清除标识    确定屏幕哪些部分将被清除。这是为了方便使用多个摄像机捕捉不同的游戏元素。
Background  背景  在完成了视图中的所有元素的绘制后以及没有天空盒的情况 下,剩余屏幕的颜色。
Culling Mask    消隐遮罩    包含层或忽略层将被摄像机渲染。在检视窗口向对象分配层。
Projection  投影  切换摄像机以模拟透视。
Perspective 透视  透视摄像机,由原点向外扩散性发射。即,距离越远,它的视口 区域也就越大,透视视图和人眼的视觉感受是一致的。
Orthographic    正交  正交摄像机,无论远近,它的视口范围永远是固定的,相机会均 匀地渲染物体,没有透视感。
Size    大小  当摄像机设置为正交模式时,摄影机视口的大小。
Field of view   视野  摄像机的视野,沿着本地 Y 轴测量,以度为单位。
Clipping Planes 裁剪面 摄像机从开始到结束渲染的距离。
Near    近   相对于摄像机,绘制将发生的最近点。
Far 远   相对于摄像机,绘制将发生的最远点。
Viewport Rect   视口矩形    摄像机画面显示在屏幕上的区域。
X       摄像机视图的开始水平位置。
Y       摄像机视图的开始垂直位置。
W   宽度  摄像机输出在屏幕上的宽度。
H   高度  摄像机输出在屏幕上的高度。
Depth   深度  摄像机在渲染顺序上的位置。具有较低深度的摄像机将在较高 深度的摄像机之前渲染。
Rendering Path  渲染路径    定义摄像机的渲染路径。
Target Texture  目标纹理    用于将摄像机视图输出并渲染到屏幕,一般用于制作导航图或 者画中画等效果。
Occlusion Culling   遮挡剔除    指定是否剔除物体背向摄像机的部分。
HDR 高动态光照渲染 启用摄像机的高动态范围渲染功能。
注意:
1.使用 Awake 或 Start 方法初始化。用于初始化的 C# 脚本代码必须置于 Awake 或 Start 方法中。
2.Awake 和 Start 的不同之处在于:
    Awake 方法是在加载场景时,并且在所有 Start 方法之前运行。
    Start 方法是在第一次调用 Update 或 FixedUpdate 方法之前调用。
​

Unity 3D GUI简介

Unity 3D 中的图形系统分为 OnGUI、NGUI、UGUI等,这些类型的图形系统内容十分丰富,包含游戏中通常使用到的按钮、图片、文本等控件。
​
OnGUI: Unity 3D 的 OnGUI 系统的可视化操作界面较少,大多数情况下需要开发人员通过代码实现控件的摆放以及功能的修改。Java脚本多
​
​
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值