Shape2D

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

Успадковано від: CapsuleShape2D, CircleShape2D, ConcavePolygonShape2D, ConvexPolygonShape2D, RectangleShape2D, SegmentShape2D, SeparationRayShape2D, WorldBoundaryShape2D

Абстрактний базовий клас для 2D форм, що використовуються для фізичного зіткнення.

Опис

Абстрактний базовий клас для всіх форм 2D, призначених для використання в фізиці.

Продуктивність: Примітивні форми, особливо CircleShape2D, швидко перевіряють зіткнення. ConvexPolygonShape2D є повільніше, і ConcavePolygonShape2D є найповільніше.

Посібники

Властивості

float

custom_solver_bias

0.0

Методи

bool

collide(local_xform: Transform2D, with_shape: Shape2D, shape_xform: Transform2D)

PackedVector2Array

collide_and_get_contacts(local_xform: Transform2D, with_shape: Shape2D, shape_xform: Transform2D)

bool

collide_with_motion(local_xform: Transform2D, local_motion: Vector2, with_shape: Shape2D, shape_xform: Transform2D, shape_motion: Vector2)

PackedVector2Array

collide_with_motion_and_get_contacts(local_xform: Transform2D, local_motion: Vector2, with_shape: Shape2D, shape_xform: Transform2D, shape_motion: Vector2)

void

draw(canvas_item: RID, color: Color)

Rect2

get_rect() const


Описи властивостей

float custom_solver_bias = 0.0 🔗

  • void set_custom_solver_bias(value: float)

  • float get_custom_solver_bias()

Призначений для користувача маніпулятор форми. Захищаючи, скільки органів реагують на виконання контакту, коли ця форма береться.

При налаштуванні до 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 get_rect() const 🔗

Повертаємо Rect2, що представляє фігури, що межують.