触发器(Trigger)触发某一个事件的机关
OnTriggerEnTer2D 如果一个碰撞器进入了触发器,调用
触发器(Trigger)触发某一个事件的机关
OnTriggerEnTer2D 如果一个碰撞器进入了触发器,调用
Mathf.Clamp(当前血量,最低血量,最高血量)限制血量的值,低于最低数返回最数,反之亦然。
地图添加碰撞器:层级→Grid→Tliemap→添加组件→Tliemap Collider2D后地图就会存在碰撞器
想要某些地图不要碰撞器:项目→选中地图→组件→碰撞器类型(Collider Type)→选择 无。
复合碰撞器2D(Composite Collider2D) 把相邻的碰撞器联合在一起
使用时把瓦片碰撞器组件的由复合使用(Used By composite)勾选
复合碰撞器 身体类型设为静态的 是为了不让地图移动
GameObject(空的游戏对象)
静态方法的调用:
类名.方法名(参数),全局可访问,不需要实例。
普通(成员变量)方法的调用:对象名.方法名(参数).需要实例。
Input :输入
GetComponent<>() 获取组件方法
<>内填写具体组件名,不是组件的声明变量,是原始名。
例:rigidbody2d = GetComponent<Rigidbody2D>()
MovePosition(声明变量); 传递参数
rigidbody2d.MovePosition(position);
防止小人碰撞物体时抖动
修改代码 将代码控制transform移动 改为控制刚体移动
public class RubyController : MonoBehaviour
{
private Rigidbody2D rigidbody2d;
// Start is called before the first frame update
void Start()
{
rigidbody2d = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
Debug.Log(horizontal);
Vector2 position = transform.position;
position.x = position.x + 5f*horizontal*Time.deltaTime;
position.y = position.y + 5f*vertical*Time.deltaTime;
//transform.position = position;
rigidbody2d.MovePosition(position);
}
}
防止小人碰撞物体旋转:冻结Z轴
方法: 选择小人刚体→Constraints→冻结旋转Z
防止小人碰撞物体旋转
发生碰撞条件: 双方必须都有碰撞器,且一方有刚体,最好是运动的乙方,因为Unity为了性能的优化,刚体长时间不发生碰撞检测会休眠。
2D刚体(Rigidbody 2D) 刚体组件 使游戏物体能获得重力,接受外界的受力和扭力功能的组件,可以通过脚本或是物理引擎为游戏对象添加刚体组件。
取消重力 :组件中 重力大小(Gravity Scale)设为0
碰撞器组件(BoxCollider):使游戏物体具有跟挂在刚体组件的游戏物体发生碰撞能力的组件
2D 游戏记得添加2D类
预制体的更改都可以直接作用到克隆体上,在项目上更改,在层级上更改只能改改单个.
预制体(Prefab) 一种特殊资源,预制体就是一个或者一系列组件的集合体,可以使用预制体实例化克隆体,后序可对克隆体属性进行统一修改。
操作 直接把层级中的精灵往项目文件夹中托
在层级中直接复制不可以保存精灵设置
小人走过盒子 在脚触碰到盒子底部,小人被盖住,方法为更改两者轴心点
现在项目中设置图片的 轴心(Pivot) 属性改为自定义(Custom) 或选择Sprite Editor 进行轴心点修改,然后点击层级中的图片 →Sprite 排序点(Sprite SortPoint) 属性改为轴心(Pivot)
轴径点 是从0~1
疑问 更改轴心点后,点击层级中的小人 显示轴心点未改变,但实质已经改为最底部
答:要更改左上角工具栏 中心改为轴心
小人走在盒子前方,小人可以盖住盒子,
小人走在盒子后方,盒子可以盖住小人
操作:Edit→项目设置(project Setting)→图形(Graphics)→摄像机设置(Camera Settings)→透明度排序模式(Transparency Sort Mode)选择 自定义轴(Custom Axis)→Y轴改为 1(反之结果相反),Z轴改为0.数字大小无关,只跟正负有关。
Grid 将游戏对象均匀的放入单元格中
Tiemap 由瓦片组成 瓦片是一种特殊的精灵
精灵是纹理的容器
取色工具(Picker tool)取样选中瓦片并绘制,快捷键I
橡皮擦工具(Eraser Tool)擦去在场景中已绘制瓦片,快捷键D 只对瓦片起作用
填充工具(Fill Tool)大范围绘制选中的瓦片,快捷键G
Edit 按钮激活下是对调色板中瓦片的操作,未激活是对Scene面板中瓦片的操作
选择工具(SelectTool):选择想要使用的瓦片,可以点击选择或拖拽多选选择,快捷键S
移动工具(Move Tool)可以选择并移动瓦片位置,快捷键M。先用选择工具选中范围,在点击按钮进行推拽移动
画笔工具(PaintBruch Tool)选择瓦片并在场景中绘制,快捷键B
方形区域填充工具(Fill Box Tool)选择一个或一篇区域大小的瓦片,绘制区域小于选中区域时会部分绘制选中内容的纹理,等大区域时会全部显示,大于则会平铺显示,快捷键U
图片切割 选中图片→Sprite Editor→Slice(切)→ Type(类型)中选择Grid By Count→Column & Row 选择几乘几
调色板(Palette) 保存瓦片,将他们绘制到网格上
笔刷(Brush)用于将画好的东西绘制到画布上。使用Tilemap时,可以在多个笔刷中任意选择,绘制出线条,方块等各种形状
Grid 网格
Tilemap 瓦片 一种特殊的精灵。使用瓦片就像在画布上画画一样,花花时可以设置一些颜色和属性。
精灵(Sprite) 纹理的容器。大型纹理图集可以转换为精灵图集
平铺(Tile)