unity2d角色防止二段跳解决方案
问题
在制作游戏过程中,对于2d人物角色的二段跳困惑了一段时间,二段跳的关键在于判断人物是否离开地面的条件。
解决方案
通过查找资料终于解决了该问题,主要的解决思路是:
在人物的脚底创建一个空物体,在2d角色生成一个由角色到空物体的射线,利用Physics2D.Linecast函数去判断这个射线是否穿过地面,进而返回一个bool值。
其中需要注意的几点是:
- 需要为地面创建一个单独的层级,主要是为了给Physics2D.Linecast函数进行使用。
- 可以通过名称查找的方式去获取空物体,进而为函数判断服务。
参考代码
代码片段
using UnityEngine;
using System.Collections;
public class ButtonControl : MonoBehaviour {
public float Spe