21403人加入学习
(187人评价)
Unity2D 官方入门案例 - Ruby's Adventure

制作完成于2020年5月5日,基于Unity2019.3

价格 免费

触发器(Trigger)触发某一个事件的机关

OnTriggerEnTer2D 如果一个碰撞器进入了触发器,调用

[展开全文]

Mathf.Clamp(当前血量,最低血量,最高血量)限制血量的值,低于最低数返回最数,反之亦然。

[展开全文]

地图添加碰撞器:层级→Grid→Tliemap→添加组件→Tliemap Collider2D后地图就会存在碰撞器

想要某些地图不要碰撞器:项目→选中地图→组件→碰撞器类型(Collider Type)→选择 无。

复合碰撞器2D(Composite Collider2D)  把相邻的碰撞器联合在一起

使用时把瓦片碰撞器组件的由复合使用(Used By composite)勾选

复合碰撞器  身体类型设为静态的  是为了不让地图移动

 

[展开全文]

静态方法的调用:

类名.方法名(参数),全局可访问,不需要实例。

普通(成员变量)方法的调用:对象名.方法名(参数).需要实例。

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)

[展开全文]