Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
PhysicsDirectSpaceState2D
Успадковує: Object
Успадковано від: PhysicsDirectSpaceState2DExtension
Забезпечує прямий доступ до фізичного простору в PhysicsServer2D.
Опис
Надає прямий доступ до фізичного простору в PhysicsServer2D. Він використовується переважно для виконання запитів до об'єктів та областей, що знаходяться в заданому просторі.
Примітка: Цей клас не призначений для безпосереднього створення екземплярів. Використовуйте World2D.direct_space_state, щоб отримати стан фізичного двовимірного простору світу.
Посібники
Методи
cast_motion(parameters: PhysicsShapeQueryParameters2D) |
|
collide_shape(parameters: PhysicsShapeQueryParameters2D, max_results: int = 32) |
|
get_rest_info(parameters: PhysicsShapeQueryParameters2D) |
|
intersect_point(parameters: PhysicsPointQueryParameters2D, max_results: int = 32) |
|
intersect_ray(parameters: PhysicsRayQueryParameters2D) |
|
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, щоб скоротити час обробки.