RigidbodyConstraints2D
перечисление
Описание
Используйте эти флаги для ограничения движения Rigidbody2D.
Типичные примеры использования включают:
- Замораживание вращения для персонажей, которые не должны вращаться при движении, например, в платформерах.
- Замораживание оси X для объектов, которые должны двигаться только вертикально, таких как лифты.
- Замораживание оси Y для объектов, которые должны двигаться только горизонтально, таких как платформы, на которые прыгают персонажи.
Примечание: Можно объединить несколько ограничений с помощью битового оператора OR (|) для создания пользовательских комбинаций замороженных осей.
Дополнительные ресурсы: Rigidbody2D.constraints.
using UnityEngine;
// This script demonstrates how to freeze the rotation of a Rigidbody2D component public class Example : MonoBehaviour { private Rigidbody2D rb;
private void Awake() { // Fetch the Rigidbody2D component rb = GetComponent<Rigidbody2D>(); // Freeze the rotation of the Rigidbody2D component rb.constraints = RigidbodyConstraints2D.FreezeRotation; }
private void Update() { // If the space key is pressed, add an impulse force to the Rigidbody2D component if (Input.GetKeyDown(KeyCode.Space)) { rb.AddForce(Vector2.up * 10, ForceMode2D.Impulse); } } }
Свойства
| Свойство | Описание |
|---|---|
| None | Никаких ограничений. |
| FreezePositionX | Замораживание движения вдоль оси X. |
| FreezePositionY | Замораживание движения вдоль оси Y. |
| FreezeRotation | Заморозить вращение вдоль оси Z. |
| FreezePosition | Замораживание движения вдоль осей X и Y. |
| FreezeAll | Замораживание вращения и движения по всем осям. |