预制体
预制体
ctrl+z回滚
动画组件 -> Animator
动画控制器 ->Animator Controller
新建动画控制器 -> project -> 新建Animators 文件夹 -> 新增Animator Controller
绑定动画控制器 -> 选定对象 -> 选择添加的动画组件(Animator) -> 将Animator Controller 拖拽到Animator 下的Controller上
动画制作窗口 Animation: Window -> Animation -> Animation
动画状态机窗口 Animation: Window -> Animation -> Animation
可以在2D游戏物体中的SpriteRender和地形TilemapRender组件中的Order in layer属性中设置层级的大小。值越大,越后渲染,值越小,越先渲染。值大的游戏物体会覆盖值小的游戏物体。
控制currentHealth这个值可以访问到被Potion但是不能被修改 -> 使用属性来封装一下
if 语句和else语句
布尔类型
bool
private bool isLuna = true;
表是非
关系运算符 > < =
jinxingqiantaoxunhuan
销毁游戏物体方法 : Destory(Obj obj)
gameObject 当前对象
触发器: 前置 双方都有Box Collider 2D组件 被出发的对象中的Box Collider 2D组件勾上isTrigger;
触发器方法: OnTriggerEnter2D(Collider2D collider2D)
Collider2D : 触发对象
相关方法 :
OnTriggerEnter2D(Collider2D collider2D) 触发
OnTriggerStay2D(Collider2D collider2D) 持续
OnTriggerExit2D(Collider2D collider2D) 退出
边界值数学方法 : Mathf.Clamp(now,min,max)
被触发挂在脚本游戏物体销毁
Destroy(gameObject)
反向操作,销毁触发游戏物体
Destroy(collision.gameObject);
报空问题的原因:
不论哪个游戏对象碰到被触发器都会进行触发检测,但是获取组件的语句是特定的:
LunaController lunaController = collision.GetComponent<LunaController>( );
该游戏对象身上没用这个组件时,所以会报错,所以要写一步判空的语句
如何从触发器游戏物体脚本访问到被触发物体身上挂在的脚本
原因:HP是luna的属性,在LunaController脚本上定义,但是血瓶会帮助luna恢复这个值,从而在吃到血瓶时形成了两个脚本的联动
方法:
被触发的物体在触发器物体中定义为collision
通过collision访问就可以,赋值给新变量,该变量类型就是触发物体的标签名即可
LunaController lunaController = collsion.GetComponent<LunaController>( );
GetComponet只能获取自己身上的组件
由触发器访问到的collision
触发检测
双方碰撞器 + 运动方刚体
事件/机关 -> 另外一个事件/功能
三个触发器方法
private void
OnTriggerEnter2D(Collider2D collision)
OnTriggerStay2D(Collider2D collision)
OnTriggerExit2D(Collider2D collision)
黄色为unity内置方法
关于赋值的顺序 -> 后知后觉
全局类里 -> 最先调用,会被覆盖掉
面板里 -> second
start方法里 -> 最后一个调用
定一原则
函数的重载
private void ChangeHealth(int amount ){
currentHealth += 5;
}
private int ChangeHealth(float amount ){
return currentHealth;
}
含义:相同的方法,但是函数签名相同,不过函数的返回值/传参leixing不同,
多边形碰撞器(地图) Polygon Collider 2D
public 公共类 -> 公共脚本访问
private 私有类 -> 本脚本访问
int 整型 -> 存放整数(可正可负)
float 浮点型 -> 小数f
如果想要定义一个方法①访问级别②函数类型③函数名(动词)
添加碰撞组件 Add Component -> Box Collider 2D
重力 Rigidboby 2D -> Gravity Scale
受力旋转限制 : Rigidboby 2D -> Constraints
添加物理组件 Add Component -> Rigidboby 2D
45445
unity官网来下载中文网站