CollisionFlags.Below 下面

CollisionFlags.Above

Description描述

CollisionFlags is a bitmask returned by CharacterController.Move.

CollisionFlags是CharacterController.Move返回的位掩码。

It gives you a broad overview of where your character collided with any other objects.

它给你角色与其他物体碰撞的全面信息。

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
	void Update() {
		CharacterController controller = GetComponent<CharacterController>();
		if (controller.collisionFlags == CollisionFlags.None)
			print("Free floating!");

		if (controller.collisionFlags & CollisionFlags.Sides)
			print("Touching sides!");

		if (controller.collisionFlags == CollisionFlags.Sides)
			print("Only touching sides, nothing else!");

		if (controller.collisionFlags & CollisionFlags.Above)
			print("Touching sides!");

		if (controller.collisionFlags == CollisionFlags.Above)
			print("Only touching Ceiling, nothing else!");

		if (controller.collisionFlags & CollisionFlags.Below)
			print("Touching ground!");

		if (controller.collisionFlags == CollisionFlags.Below)
			print("Only touching ground, nothing else!");

	}
}
function Update () {
	var controller : CharacterController = GetComponent(CharacterController);
	if (controller.collisionFlags == CollisionFlags.None)
		print("Free floating!");

	if (controller.collisionFlags & CollisionFlags.Sides)
		print("Touching sides!");

	if (controller.collisionFlags == CollisionFlags.Sides)
		print("Only touching sides, nothing else!");

	if (controller.collisionFlags & CollisionFlags.Above)
		print("Touching sides!");

	if (controller.collisionFlags == CollisionFlags.Above)
		print("Only touching Ceiling, nothing else!");

	if (controller.collisionFlags & CollisionFlags.Below)
		print("Touching ground!");

	if (controller.collisionFlags == CollisionFlags.Below)
		print("Only touching ground, nothing else!");
}
最后修改:2011年5月6日 Friday 14:59

本脚本参考基于Unity 3.4.1f5

英文部分版权属©Unity公司所有,中文部分© Unity圣典 版权所有,未经许可,严禁转载 。