Unity脚本练习

  1. 在C# 中 class 是创建类的标志,要创建类的话得现有class

  1. 上面这个的逻辑是 类的访问权限, 关键字,类名以及类继承的父类

  1. 在Unity中创建一个脚本或者添加一个组件,就相当于在Unity命名空间中创建了一个可以访问的类。这些类能够直接在其它类中被使用

在上面这张图中的两个类都是我们自己创建的脚本(脚本其实就是一个类,当我们将脚本挂载到游戏对象上时,就相当于实例化了一个脚本类的对象)

  1. 首先有一个大的Unity命名空间,Unity中本身就有的类(包括组件等等),我们创建的脚本都在这一个命名空间中,所以我们可以在一个类中实例化另一个类的对象(比如在一个脚本类中实例化另一个脚本类的对象),以及调用另一个类的类方法(静态方法)

  1. 每一个游戏对象其实就相当于一个实例化对象的集合,一开始的游戏对象是空的,里面什么实例化对象都没有,随着我们挂载组件,脚本(实例化组件,脚本对象),游戏对象中就开始被实例化对象填充

1.第一个方法---

Object.FindObjectsOfType<Enemy>()
  1. object类是Unity中所有类的父类,所以我们能够直接在脚本类中调用object类中的方法

  1. 这个方法的返回类型是一个数组,数组中的元素的类型由我们填在尖框中的类型来确定,而尖框中的类型决定了我们要查找的对象的类型

  1. 查找的逻辑是遍历每一个游戏对象(对象集群)中具有的每一个对象,将与和尖框中类型相同的对象以引用的形式存到数组之中

 min.GetComponent<MeshRenderer>().material.color = Color.blue;

第二个方法:

  1. 当我们找到了一个游戏对象(对象集群)中的任何一个对象的引用时,我们就可以通过这个引用找到该游戏对象(对象集群中的其它对象),使用的方法是GetComponent ,尖框中的类型决定了我们要查找的对象的类型

  1. 每一个脚本,组件类由于都继承了具有GetComponent方法的父类,所以它们都能够使用这个方法

  1. 这个方法的查找逻辑是 -- 在调用这个方法的对象所在的对象集群(游戏对象)中逐个查找,并将与要查找的对象类型相同的对象的引用返回(只返回一个对象)


静态变量与动态变量

  1. 静态变量是被 static 关键字修饰的变量

  1. 静态变量分为局部静态变量和全局静态变量

  1. 静态变量在程序加载时就会被分配内存空间,程序结束时才被销毁

  1. 局部变量(动态变量)则是在使用到它时才分配内存空间,使用完后立即被销毁,最典型的例子就是函数(方法中的变量)


静态方法(类方法)与非静态方法(实例方法)

  1. 静态方法是指被 static 关键字修饰的类中的方法

  1. 该方法属于类,能够直接通过类名调用,无需在实例化对象之后再通过对象调用(实例方法需要这么做)

  1. 静态方法和静态变量,属性都会在程序加载时被分配好内存空间,在程序结束时被销毁,而非静态方法和动态变量则只有在用到时才会被分配内存空间,且在用完后就会被销毁


  1. 如果引用创建后没有指向实例化的对象的话,则默认指向 null(空)

  1. Transform类自带的非静态方法 Find --- 能够根据给定的子物体的名称来查找子物体(名称为参数)

但是这种查找是有限制的,它只能够在父物体的下一层子物体中查找,而不能够深入到子物体的子物体(第二层)中进行查找,第三层,第四层等等同理

  1. Getchild方法可以根据索引来找到并返回父物体对应索引的子物体

  1. 父物体的子物体的索引排列方式是 --- 自上而下,从0开始递增排列(递增量为1)

  1. 如果想要在脚本中获取当前脚本实例对象所在的对象集群(游戏对象)中的某个组件实例化对象(即指向Unity自带的组件)的引用的话(以Transform组件为例),则可以通过下面这行代码实现:

this.transform(此时这个就是游戏对象(对象集群)中,Transform类的实例化对象(即挂载的Transform组件)的引用)

其它组件同理(注意只有Unity自带的组件才能这么找到)


c#如何输入输出文本

  1. 主要是 console.writeline 及一些其它方法

unity如何在控制台中输出文本

1.主要用的方法是 Debug.Log()


  1. 当两个方法在同一个类中时,如果两个方法都是静态方法(类方法),或者都是非静态方法的话,则在两个方法中能够互相调用对方

  1. 如果两个方法中有一个方法是静态方法,另一个是非静态方法的话,则非静态方法中能够调用静态方法,静态方法中不能够调用非静态方法。


  1. C#中创建数组的方法 --- 元素类型[ ] 数组名 --- 此处创建的是一个数组的引用,我们还需要实例化数组之后令这个引用有所指。

  1. 实例化代码 --- new 元素类型[元素个数]

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值