一、逻辑实现步骤
1、首先实现对2D角色进行触墙检测点检验,确保角色碰到墙可以触发指令。
a、采用物理射线的方式。
第一种、Physics2D.Raycast(起始点,方向,距离,检测图层)
函数调用OnDrawGizmos,Gizmos.DrawLine(起始点,终点),用于射线的显示。
b、物理碰撞模式,需要对墙体和角色之间进行逻辑判断。
第一种、OnTriggerEnter2D,OnTriggerStay2D,OnTriggerExit2D
第二种、OnCollisionEnter2D,OnCollisionStay2D,OnCollisionExit2D
2、对触发指令进行控制,一般采用逻辑函数进行调用。
a、判断语句,检测角色是否处于触墙状态,且水平方向键输入不为0
b、动作实现,实现动作的触发以及解除。
3、保持角色的静止和恢复移动状态
a、采用rigid body2D组件中的bodytype,对Type值进行更换