Sprite2D
Успадковує: Node2D < CanvasItem < Node < Object
Універсальний спрайтний вузол.
Опис
Вузлом, який відображає текстуру 2D. Текстура відображається може бути регіоном з більшої текстури атласів, або кадром з анімації аркуша спрайта.
Посібники
Властивості
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Методи
get_rect() const |
|
is_pixel_opaque(pos: Vector2) const |
Сигнали
frame_changed() 🔗
Видається, коли змінюється frame.
texture_changed() 🔗
Виникає, коли змінюється texture.
Описи властивостей
Якщо true, то текстура розташована.
Примітка: Для ігор з естетичною естетикою піксельного мистецтва, текстури можуть з'явитися деформовані при центруванні. Це викликається їх положенням між пікселями. Щоб запобігти цьому, встановити цю властивість false, або розглянути можливість ProjectSettings.rendering/2d/snap_2d_vertices_to_pixel і ProjectSettings.rendering/2d/snap_2d_transforms_to_pixel.
Якщо true, текстура віддзеркалюється горизонтально.
Якщо true, текстура віддзеркалюється вертикально.
Поточний кадр для відображення з аркуша спрайтів. hframes або vframes має бути більше 1. Ця властивість автоматично налаштовується, коли hframes або vframes змінюються так, щоб вони постійно вказували на той самий візуальний кадр (той самий стовпець і рядок). Якщо це неможливо, це значення скидається до 0.
Vector2i frame_coords = Vector2i(0, 0) 🔗
Координати кадру для відображення зі спрайт-листа. Це псевдонім для властивості frame. hframes або vframes мають бути більшими 1.
Кількість стовпців у спрайтовому аркуші. Коли ця властивість змінюється, frame коригується таким чином, щоб зберегти той самий візуальний кадр (той самий рядок і стовпець). Якщо це неможливо, frame скидається до 0.
Vector2 offset = Vector2(0, 0) 🔗
Зсув малювання текстури.
Примітка: Коли ви збільшуєте offset.y у Sprite2D, спрайт переміщується вниз на екрані (тобто +Y — вниз).
Якщо true, текстура вирізається з більшої текстури атласу. Див. region_rect.
Примітка: При використанні власного Shader на Sprite2D, вбудований шейдер UV буде посилатися на весь простір текстури. Замість цього використовуйте вбудований REGION_RECT, щоб отримати область, яка зараз видна, визначену в region_rect. Детальніше див. CanvasItem shaders.
bool region_filter_clip_enabled = false 🔗
Якщо true, область за межами region_rect обрізається, щоб уникнути витоку навколишніх пікселів текстури. region_enabled має мати значення true.
Rect2 region_rect = Rect2(0, 0, 0, 0) 🔗
Область текстури атласу для відображення. region_enabled має бути true.
Texture2D об'єкт для малювання.
Кількість рядків у спрайтовому аркуші. Коли ця властивість змінюється, frame коригується таким чином, щоб зберегти той самий візуальний кадр (той самий рядок і стовпець). Якщо це неможливо, frame скидається до 0.
Описи методів
Повертає Rect2, що представляє межу Sprite2D у локальних координатах.
Приклад: Визначити, чи було натиснуто Sprite2D:
func _input(event):
if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT:
if get_rect().has_point(to_local(event.position)):
print("Клац!")
public override void _Input(InputEvent @event)
{
if (@event is InputEventMouseButton inputEventMouse)
{
if (inputEventMouse.Pressed && inputEventMouse.ButtonIndex == MouseButton.Left)
{
if (GetRect().HasPoint(ToLocal(inputEventMouse.Position)))
{
GD.Print("Один клік!");
}
}
}
}
bool is_pixel_opaque(pos: Vector2) const 🔗
Повертає true, якщо піксель на даній позиції непрозорий і false в іншому випадку. Положення про локальні координати.
Примітка: Він також повертає false, якщо текстура спрайта null або якщо дана позиція недійсна.