今天开始写工作笔记,把工作中遇到的新知识记下来,以周为单位来记录,因为在学习unity和C#,所以都是这些相关的。
- bool变量的初始值是false,if(hurted)里面只写变量不判断真假的情况意思是判断它为true
- Input.GetMouseButtonDown(数字)是辨别鼠标是否按下某个键,返回bool值
- 制作动画时要用到animator,在里面编辑各个动作之间的关系,也可以添加bool值来作为动作转换的条件,右键点击欲编辑的动作,点make transition来进行连线,点击连线可以在Inspector设置发动的条件。animator的名字.SetBool(“里面的bool值”, true/false)可以设置里面的bool变量
- Collider2D[] hittedObjects = Physics2D.OverlapCircleAll(attackPoint.position, attackRadius);这句话表述了设置一个叫做hittedObjects的碰撞体类型的数组,数组的成员是在以attackPoint这个点的位置为圆心,attackRadius为半径的圆内涵盖的所有碰撞体。只要有碰撞体接触到这个圆,就被囊括在内。
- 引用Collider碰撞体和RigidBody刚体的区别:碰撞体才能被射线检测到。碰撞体是产生碰撞的前提。而需要模拟重力的自由下落时,添加刚体。物体间发生碰撞时,主动体身上必须添加刚体。
- Ctrl+K,S: 插入外侧代码,可以用来添加#region
- 获取挂载脚本上的插件给变量,anim = GetComponent();
- 为了分辨各种括号还有叫着舒服,特意查了英文的叫法
小括号( ):parenthese,复数形式,单个括弧则是parenthesis
中括号(或方括号) [ ] :square brackets
尖括号<> :angle brackets
大括号{ }:braces - 层级关系,在hierarchy里面越上面的选项会在屏幕越下层,sorting layer可以先把各物体分成几大类,这几大类有层的关系,然后在这大类下面可以再在order in layer分层。
- Serialize功能,凡是显示在Inspector 中的属性都同时具有Serialize功能(也就是序列化,序列化的意思是说再次读取Unity时序列化的变量是有值的,不需要你再次去赋值,因为它已经被保存下来)。当public一个字段的时候,这个字段是可以在inspector上显示出来的,也就是序列化的,而如果一个字段是private,还需要它显示出来的时候,我们就可以用[SerializeField]放在字段前来在面板显示出来。个人理解这个功能用于你不想改变private的情况。
- transform.translate是以局部坐标移动的,而transform.position是以全局坐标来进行改变的,这两者区分开方便使用。
- 在canvas下的gameobject也拥有canvas的属性,可以定义位置之类的。在layout里面有三种,grid,vertical和horizontal,用来排布ui,grid可横可竖,功能最全,vertical只能竖向排列,horizontal只能横向排列。
遗留问题:
- yield return的用法