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, що представляє фігури, що межують.