CollisionFlags 是 CharacterController.Move 返回的位掩码。
其概述您的角色与其他任何对象的碰撞位置。
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
void Update()
{
CharacterController controller = GetComponent<CharacterController>();
if (controller.collisionFlags == CollisionFlags.None)
print("Free floating!");
if ((controller.collisionFlags & CollisionFlags.Sides) != 0)
print("Touching sides!");
if (controller.collisionFlags == CollisionFlags.Sides)
print("Only touching sides, nothing else!");
if ((controller.collisionFlags & CollisionFlags.Above) != 0)
print("Touching sides!");
if (controller.collisionFlags == CollisionFlags.Above)
print("Only touching Ceiling, nothing else!");
if ((controller.collisionFlags & CollisionFlags.Below) != 0)
print("Touching ground!");
if (controller.collisionFlags == CollisionFlags.Below)
print("Only touching ground, nothing else!");
}
}