Unity2D入门(七):物理材质、跳跃、基础UI

一、物理材质:

游戏角色在跳跃过程中如果正面碰撞到地形就会卡在上面,所以需要为其添加一种材质,在Assets窗口中,右键->新建一个物理材质,不用做其他的调整,将其拖拽到Player Inspector窗口中的BoxCollider组件的Material上(在此说明,如果只为Player添加一个BoxCollider碰撞体,在检测与地面碰撞时相当于两个方形碰撞体进行接触,可能会出现角色Player被卡飞的情况,因此用一个圆形的Collider来检测与地面的碰撞,用一个BoxCollider来检测与敌人、收集物品或者非地面碰撞物体的碰撞检测)。

二、跳跃

现在仅实现一段跳,代码的实现思想:如果跳跃键被按下并且Player在地面上,则把动画jumping设置为true,并更新rb.velocity的值,代码如下:

        public LayerMask ground;//定义LayerMask这一“组件”

        //角色跳跃
        if (Input.GetButtonDown("Jump") && coll.IsTouchingLayers(ground))
        {
            rb.velocity = new Vector2(rb.velocity.x, jumpforce * Time.fixedDeltaTime);
            anim.SetBool("jumping", true);
        }

新知识点:LayerMask,在Inspector窗口的右上角,可以设置一个Layer,在此处它用作检测角色Player是否与处在该Layer下的物体发生碰撞。

三、UI基本入门:

UI都创建在一个名为Canvas的子目录下,在上一篇笔记中忘记说UI的创建了,此处对照着第六篇中的物品收集部分来的,在Hierarchy窗口中右键,选择UI,里面提供了文本、图片、按钮等等UI的组件,选择我们需要的,比如我需要樱桃和钻石的图片,以及记录它们的数字,所以我需要创建Image和Txt两种组件,创建好后即可对照笔记(六)中的步骤,在此不做赘述。


版权声明:本文为qq_45723821原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。