当前位置: 首页 > news >正文

吉林网站建设业务厦门专业做网站的公司

吉林网站建设业务,厦门专业做网站的公司,男女性男女直接做的视频网站,搜索优化的培训免费咨询文章目录 创建角色与场景创建地面 角色控制脚本检测地面 运行结果 创建角色与场景 我们首先创建一个角色#xff0c;这里我新建了一个胶囊体用来当Player#xff0c;一个Square用来当地面。 接下来#xff0c;为角色增加碰撞体和刚体#xff0c;为地面增加碰撞体。然后我… 文章目录 创建角色与场景创建地面 角色控制脚本检测地面 运行结果 创建角色与场景 我们首先创建一个角色这里我新建了一个胶囊体用来当Player一个Square用来当地面。 接下来为角色增加碰撞体和刚体为地面增加碰撞体。然后我们为Player的刚体增加一个Z轴的约束避免其东倒西歪。如下图所示 同时为角色添加一个空物体作为子物体用来向地面发射射线检测是否触碰到了地面。 将Ground Check置于角色的脚底。 创建地面 接下来我们要新建一个Layer用于表示地面。 将Square改名为Ground并修改其Layer为Ground。 角色控制脚本 接着新建一个CharacterController2D脚本用于控制角色。将该脚本挂载到玩家的身上。 检测地面 为了实现跳跃功能我们需要检测地面的存在如果玩家处于地面并且按下了跳跃键才能跳跃。 检测地面有多重实现方式例如为角色添加子物体的触发器用触发器来检测地面也可以向脚下发射射线也可以对一个区域进行碰撞检测看看有没有地面存在。本篇文章采用的就是最后一个方法。 我们需要使用Physics2D.OverlapCircle方法该方法用于检测2D碰撞。它通过在场景中指定的位置创建一个圆形的区域然后检测这个区域内是否与其他物体发生碰撞。 该方法其中的一个重载如下所示也就是我们要使用的重载 public static Collider2D OverlapCircle(Vector2 point, float radius, int layerMask)参数含义如下 point表示圆心位置的二维向量。这个参数指定了圆形区域检测的中心点坐标。即以 point 为中心以给定的 radius 为半径创建一个圆形区域进行碰撞检测。 radius表示圆形区域的半径。这个参数确定了进行碰撞检测的范围大小。半径越大检测到的碰撞物体可能性越高。 layerMask指定要进行碰撞检测的图层。图层是 Unity 中用于控制物体可见性和碰撞交互的一种机制。使用 layerMask 可以限制或者排除特定的图层进行碰撞检测。 其中point 和 radius 是必需的参数而 layerMask 是可选的。但我们这里需要用要用其单独检测地面。 point我们使用之前创建的角色子物体的位置radius我们单独弄一个属性用于表示其可以检测的范围当然这个值要小一点辣太大了检测就不准了即使跳起来了可能还会检测到在地面。 raius的定义如下 private float groundCheckRadius 0.2f;然后我们编写检测的代码如下所示 // 检测角色是否与地面接触 isGrounded Physics2D.OverlapCircle(groundCheck.position, groundCheckRadius, groundLayer);下面是完整代码直接复制到你的脚本中然后就可以运行啦。 using UnityEngine;public class CharacterController2D : MonoBehaviour {public float speed 5f;public float jumpForce 5f;public Transform groundCheck;public LayerMask groundLayer;private Rigidbody2D rb;private bool isGrounded;private float groundCheckRadius 0.2f;void Start(){rb GetComponentRigidbody2D();}void Update(){// 检测角色是否与地面接触isGrounded Physics2D.OverlapCircle(groundCheck.position, groundCheckRadius, groundLayer);// 获取水平输入float moveInput Input.GetAxisRaw(Horizontal);// 应用水平速度rb.velocity new Vector2(moveInput * speed, rb.velocity.y);// 角色跳跃if (Input.GetButtonDown(Jump) isGrounded){rb.AddForce(new Vector2(0f, jumpForce), ForceMode2D.Impulse);}} }接下来将Player的子物体Ground Check拖拽到组件的Ground Check属性中然后为Ground Layer选取我们之前设置好的地面层。 运行结果 运行结果如下图所示可以跑跳
http://www.huolong8.cn/news/54647/

相关文章:

  • 柳州网站建设柳州form e哪个网站做
  • 局网站建设工作绥化建设局网站
  • 商城网站建设的优点如何在手机上做微电影网站
  • 做网站的域名移动网站建设哪家快
  • 阿里云网站备案要多久厘米售卡站怎么做网站
  • 网站建设详细流程网站制作模板北京
  • 厦门市建设局网站咨询电话网站做浮动边框asp代码
  • 网站维护升级有什么网站是做投资的
  • 怎样给网站做后台网站服务器数据库
  • 阿里巴巴网站制作百度直播平台
  • 高端旅游网站建设平面设计培训班有用吗
  • 网站建设游戏公司宽带收费价格
  • 建立一个平台网站需要多少钱培训收费网站建设
  • 重庆联通的网站建设拉销智能模板建站系统
  • 深圳外包网站公司wordpress 页面导航
  • 唐山建网站贴吧 wordpress
  • 建网站和开发网站网站建设捌金手指花总十
  • 网站备案有什么要求屏幕分辨率 网站开发
  • 红杭州网站建设peise网站
  • 电脑上不了建设厅网站创建网站赚钱
  • 地区门户网站 建设攻略天津高端品牌网站建设
  • 滕滕州网站建设深圳手机app软件开发
  • 网站设计有哪些创新点宽屏绿色新闻资讯网站织梦模板
  • 中国建设银行官方网站纪念钞预约新手怎么开始做电商
  • 网站开发中网页上传深圳网站快速备案
  • 有专门做房孑特卖的网站吗怎样才能建设网站
  • 杭州网站制作平台高端网站案例网站建设
  • 网站开发技术要学什么软件机械网站建设公司推荐
  • 白云区网站开发公司创造你魔法官方网站起做欢的事
  • 白人与黑人做爰网站社区门户网站规范化建设