Unity中人物实现单次跳跃,人物碰撞检测(初步),物理材质的设置

1.人物实现单次跳跃

为人物创建新的脚本代码   文件名为PhysicCheck

这一步是为了检测是否在地上,为限制空中跳跃实现单次跳跃做准备

using System.Net.Http.Headers;
using System.Numerics;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PhysicCheck : MonoBehaviour
{
    public bool isGround;  //定义布尔类型变量表示检测结果
    public float checkRaduis;  //检测范围
    public LayerMask groundlayer;  //LayerMask 类型变量检测是否碰撞
    public UnityEngine.Vector2 bottomOffset;
    private void Update()
    {
        Check();
    }
    //检测方法
    public void Check(){
        isGround = Physics2D.OverlapCircle((UnityEngine.Vector2)transform.position + bottomOffset, checkRaduis, groundlayer);
    }

    private void  OnDrawGizmosSelected()
    {
        Gizmos.color = Color.red;
        Gizmos.DrawWireSphere((UnityEngine.Vector2)transform.position + bottomOffset, checkRaduis);
    }

}
//定义PhysicCheck类型变量
private PhysicCheck physicsCheck;


//修改Jump方法
private void Jump(InputAction.CallbackContext obj){
        //UnityEngine.Debug.Log("JUMP");
        if(physicsCheck.isGround)//添加判断条件
        rb.AddForce(transform.up * jumpForce,ForceMode2D.Impulse);
    }

2.物理材质的设置

为方便管理在Setting文件夹中新创建一个PhysicMertiral文件夹,点击添加2D 材质更改摩擦力为0,添加到人物身上,人物不在粘在墙上。

今天的学习总结完毕,继续加油!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值