c#+unity基础

发布于:2024-04-23 ⋅ 阅读:(22) ⋅ 点赞:(0)

  序列化: [SerializeField],点不出来,只能在面板上显示绑定游戏物体
  //公有隐藏

特有函数

  特有函数:不需要调用,自动执行
   Awake最先执行->OnEable

面向对象思想

   面向对象思想:分为具体对象和抽象对象,具体对象是真实存在的,抽象对象是一类真实对象的    特征的集合,分别对应着对象和类。把一个脚本绑在各个物体上的时候,每个物体都会分别执行  这个脚本
   对象~=实例
   对象:特指,具体的东西,具体存在
   类:泛指,抽象的概念,相当于下定义,共性的东西


   变量:数据
   函数:行为,动作

静态变量和动态变量

 静态变量:调用:类名点(共性),地址不变
 动态变量/实例变量:调用:实例点(特性),跟着实例走,地址随机

在单机游戏修改器中改变的就是变量,一边用数值查询的方式,用一个数据之前进行

 public static int leg;
 public string name;
 void Start()
 {
     Player player=new Player();
//静态变量可以直接用类名点出来
     Player.leg = 4;
//动态变量要用实例调用
     player.name = "sd";


 }


   组件跟代码是一个东西,是一种能力

这个按钮叫Eable

函数调用

 函数调用时由内向外执行

类比高中数学f(f(xf(x)))

    int AA(int a)
    { return a; }
    int BB(int b)
    { return b; }
    int CC(int c)
    { return c; }   

//函数调用时由内向外执行
CC(BB(AA(3)));

GetKey方法

有三种点击键盘的方法:

GetKey按着按键触发(要一直按着)

GetKeyDown按下键盘时触发

GetKeyUp键盘弹起来的时候触发

获取组件

 获取组件=获取能力
小写是对象,大写是类

获取gameObject的组件,要调用GetComponent方法

调用方法:GetComponent<要调用的组件>

gameObject.GetComponent<Light>().enabled = false;

 //获取组件=获取能力
//小写是对象,大写是类
          transform.Translate(Vector3.forward * 5 * Time.deltaTime);

          //按秒算Time.deltaTime,算是一个单位
          Vector3 v = Vector3.forward * speed * Time.deltaTime;
          GetComponent<Transform>().Translate(v);

          gameObject.GetComponent<Light>().enabled = false;

          GetComponent<Light>().enabled = true;

          GetComponent<Light>().color= new Color(1,0,0)

部分组件的使用

可以调节摄像机视野的大小

c#语言书写方法总结

主语(实例对象、抽象对象)+谓语(函数、类)

if()的()里放的是bool值:放函数的时候返回值是bool值,放方法的时候结果要是bool值