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...
Shape2D
Успадковує: Resource < RefCounted < Object
Успадковано від: CapsuleShape2D, CircleShape2D, ConcavePolygonShape2D, ConvexPolygonShape2D, RectangleShape2D, SegmentShape2D, SeparationRayShape2D, WorldBoundaryShape2D
Абстрактний базовий клас для 2D форм, що використовуються для фізичного зіткнення.
Опис
Абстрактний базовий клас для всіх форм 2D, призначених для використання в фізиці.
Продуктивність: Примітивні форми, особливо CircleShape2D, швидко перевіряють зіткнення. ConvexPolygonShape2D є повільніше, і ConcavePolygonShape2D є найповільніше.
Посібники
Властивості
|
Методи
collide(local_xform: Transform2D, with_shape: Shape2D, shape_xform: Transform2D) |
|
collide_and_get_contacts(local_xform: Transform2D, with_shape: Shape2D, shape_xform: Transform2D) |
|
collide_with_motion(local_xform: Transform2D, local_motion: Vector2, with_shape: Shape2D, shape_xform: Transform2D, shape_motion: Vector2) |
|
collide_with_motion_and_get_contacts(local_xform: Transform2D, local_motion: Vector2, with_shape: Shape2D, shape_xform: Transform2D, shape_motion: Vector2) |
|
void |
|
get_rect() const |
Описи властивостей
float custom_solver_bias = 0.0 🔗
Призначений для користувача маніпулятор форми. Захищаючи, скільки органів реагують на виконання контакту, коли ця форма береться.
При налаштуванні до 0, значення за замовчуванням від ProjectSettings.physics/2d/solver/default_contact_bias використовується.
Описи методів
bool collide(local_xform: Transform2D, with_shape: Shape2D, shape_xform: Transform2D) 🔗
Повертаємо true, якщо ця форма збігається з іншим.
Цей метод потребує матриці перетворення для цієї форми (Local_xform), форми для перевірки зіткнень з (with_shape), і матриці перетворення цієї форми (shape_xform).
PackedVector2Array collide_and_get_contacts(local_xform: Transform2D, with_shape: Shape2D, shape_xform: Transform2D) 🔗
Повертає список пар контактної точки, де ця форма торкається іншого.
Якщо немає зіткнень, повертається список порожній. В іншому випадку повернутий список містить контактні точки, розміщені в парах, з записами, що чергуються між точками на межі цієї форми та пунктами на межі with_shape.
Пара зіткнення А, Б можна використовувати для розрахунку норми зіткнення з (B - A).normalized(), а глибина зіткнення з (B - A). Довжина(). Ця інформація, як правило, використовується для окремих форм, особливо в розчинниках зіткнення.
Цей метод потребує матриці перетворення для цієї форми (Local_xform), форми для перевірки зіткнень з (with_shape), і матриці перетворення цієї форми (shape_xform).
bool collide_with_motion(local_xform: Transform2D, local_motion: Vector2, with_shape: Shape2D, shape_xform: Transform2D, shape_motion: Vector2) 🔗
Повертаємо вашу увагу на те, що ця форма буде відповідати іншим, якщо надана дія була застосована.
Цей метод потребує матриці перетворення для цієї форми (Local_xform), руху для тестування на цю форму (Local_motion), форму для перевірки зіткнень (with_shape), матриці перетворення цієї форми (shape_xform), а руху для тестування на інший об'єкт (shape_motion).
PackedVector2Array collide_with_motion_and_get_contacts(local_xform: Transform2D, local_motion: Vector2, with_shape: Shape2D, shape_xform: Transform2D, shape_motion: Vector2) 🔗
Повертає список пар контактної точки, де ця форма доторкнеться іншого, якщо надана дія була застосована.
Якщо не буде зіткнень, повернутий список порожній. В іншому випадку повернутий список містить контактні точки, розміщені в парах, з записами, що чергуються між точками на межі цієї форми та пунктами на межі with_shape.
Пара зіткнення А, Б можна використовувати для розрахунку норми зіткнення з (B - A).normalized(), а глибина зіткнення з (B - A). Довжина(). Ця інформація, як правило, використовується для окремих форм, особливо в розчинниках зіткнення.
Цей метод потребує матриці перетворення для цієї форми (Local_xform), руху для тестування на цю форму (Local_motion), форму для перевірки зіткнень (with_shape), матриці перетворення цієї форми (shape_xform), а руху для тестування на інший об'єкт (shape_motion).
void draw(canvas_item: RID, color: Color) 🔗
Накладає тверду форму на CanvasItem з RenderingServer API, заповнений заданим color. Точний спосіб малювання є специфічним для кожної форми і не можна налаштувати.
Повертаємо Rect2, що представляє фігури, що межують.