Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.
enumeration
Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.
ЗакрытьПо определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.
ЗакрытьCollisionFlags это битовая маска, полученная из CharacterController.Move.
Это дает широкий обзор того, где именно ваш персонаж столкнулся с какими-либо другими объектами.
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!"); }
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!"); } }
None | CollisionFlags это битовая маска, полученная из CharacterController.Move. |
Sides | CollisionFlags это битовая маска, полученная из CharacterController.Move. |
Above | CollisionFlags это битовая маска, полученная из CharacterController.Move. |
Below | CollisionFlags это битовая маска, полученная из CharacterController.Move. |