PhysicsDirectSpaceState2D

Успадковує: Object

Успадковано від: PhysicsDirectSpaceState2DExtension

Забезпечує прямий доступ до фізичного простору в PhysicsServer2D.

Опис

Надає прямий доступ до фізичного простору в PhysicsServer2D. Він використовується переважно для виконання запитів до об'єктів та областей, що знаходяться в заданому просторі.

Примітка: Цей клас не призначений для безпосереднього створення екземплярів. Використовуйте World2D.direct_space_state, щоб отримати стан фізичного двовимірного простору світу.

Посібники

Методи

PackedFloat32Array

cast_motion(parameters: PhysicsShapeQueryParameters2D)

Array[Vector2]

collide_shape(parameters: PhysicsShapeQueryParameters2D, max_results: int = 32)

Dictionary

get_rest_info(parameters: PhysicsShapeQueryParameters2D)

Array[Dictionary]

intersect_point(parameters: PhysicsPointQueryParameters2D, max_results: int = 32)

Dictionary

intersect_ray(parameters: PhysicsRayQueryParameters2D)

Array[Dictionary]

intersect_shape(parameters: PhysicsShapeQueryParameters2D, max_results: int = 32)


Описи методів

PackedFloat32Array cast_motion(parameters: PhysicsShapeQueryParameters2D) 🔗

Перевіряє, як далеко Shape2D може переміщатися без узгодження. Всі параметри для запиту, включаючи форму і рух, поставляються через об'єкт PhysicsShapeQueryParameters2D.

Повертає масив з безпечними і небезпечними пропорціями (закінчення 0 і 1) руху. Безпечна пропорція - максимальна дробова частка руху, яка може бути виконана без зіткнення. Небезпечна пропорція є мінімальною часткою відстані, яка повинна бути перенесена на зіткнення. Якщо ви не виявите результат [1.0, 1.0] буде повернено.

Примітка: Будь-який Shape2D, що форма вже співає з e.g. всередині, буде ігноруватися. Використовуйте collide_shape() для визначення Shape2D, що форма вже відповідає.


Array[Vector2] collide_shape(parameters: PhysicsShapeQueryParameters2D, max_results: int = 32) 🔗

Перевіряє перехрестя форми, надані через об'єкт PhysicsShapeQueryParameters2D. Отриманий масив містить список точок, де форма перетинає інший. Як і з intersect_shape(), кількість отриманих результатів можна обмежити час обробки.

Повернення очок - список пар контактних точок. Для кожної пари перша у формі, що пропущена в PhysicsShapeQueryParameters2D об'єкт, другий - у складеній формі з фізичного простору.


Dictionary get_rest_info(parameters: PhysicsShapeQueryParameters2D) 🔗

Перевіряє перетини фігури, заданої через об'єкт PhysicsShapeQueryParameters2D, з простором. Якщо фігура стикається з кількома фігурами, вибирається найближча. Повернений об'єкт – це словник, що містить такі поля:

collider_id: Ідентифікатор об'єкта, що стикається.

linear_velocity: Швидкість об'єкта, що стикається Vector2. Якщо об'єкт є Area2D, результатом є (0, 0).

normal: Нормаль зіткнення фігури запиту в точці перетину, спрямована від об'єкта, що стикається.

point: Точка перетину.

rid: RID об'єкта, що стикається.

shape: Індекс фігури, що стикається.

Якщо фігура нічого не перетинала, то повертається порожній словник.


Array[Dictionary] intersect_point(parameters: PhysicsPointQueryParameters2D, max_results: int = 32) 🔗

Перевірте, чи є точка всередині будь-якої твердої форми. Положення та інші параметри визначаються за допомогою PhysicsPointQueryParameters2D. Форми точки всередині подаються в масиві, що містить словники з наступними полями:

collider: Об'єкт зв'язку.

collider_id: Код об'єкта.

rid: Інтерсекційний об'єкт RID.

`` форма``: Індекс форми згортання форми.

Кількість перехрестя може бути обмежена параметром max_results, щоб скоротити час обробки.

Примітка: ConcavePolygonShape2D і CollisionPolygon2D в Сегменти режим побудови не твердих форм. Тому вони не будуть виявлені.


Dictionary intersect_ray(parameters: PhysicsRayQueryParameters2D) 🔗

Включає промінь в заданому просторі. Рентгенівська позиція та інші параметри визначаються за допомогою PhysicsRayQueryParameters2D. Повернутий об'єкт є словником з наступними полями:

collider: Об'єкт зв'язку.

collider_id: Код об'єкта.

нормальний: Нормальна поверхня об'єкта на місці перетину, або Vector2(0, 0), якщо промен починається всередині форми і PhysicsShapeQueryParameters2D.hit_from_inside true.

позиція: Точка перетину.

rid: Інтерсекційний об'єкт RID.

`` форма``: Індекс форми згортання форми.

Якщо промен не перев'язував нічого, то повернувся порожній словник.


Array[Dictionary] intersect_shape(parameters: PhysicsShapeQueryParameters2D, max_results: int = 32) 🔗

Перевіряє перехрестя форми, надані через об'єкт PhysicsShapeQueryParameters2D. У масиві, що містить словники з наступними полями:

collider: Об'єкт зв'язку.

collider_id: Код об'єкта.

rid: Інтерсекційний об'єкт RID.

`` форма ``: Індекс форми згортання форми.

Кількість перехрестя може бути обмежена параметром max_results, щоб скоротити час обробки.