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...
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, якщо задана позиція виходить за межі дозволеного або значення texture цього спрайта дорівнює null. pos знаходиться в локальних координатах.