Sprite2D
Eredita: Node2D < CanvasItem < Node < Object
Nodo di sprite per uso generale.
Descrizione
Un nodo che visualizza una texture 2D. La texture visualizzata può essere una regione di una texture più grande di atlante, o un fotogramma d'animazione da uno sprite sheet.
Tutorial
Proprietà
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Metodi
get_rect() const |
|
is_pixel_opaque(pos: Vector2) const |
Segnali
frame_changed() 🔗
Emesso quando il frame cambia.
texture_changed() 🔗
Emesso quando la frame cambia.
Descrizioni delle proprietà
Se true, la texture è centrata.
Nota: Per i giochi con un'estetica pixel art, le texture potrebbero apparire deformate quando sono centrate. Ciò è causato dalla loro posizione tra i pixel. Per evitarlo, imposta questa proprietà su false, oppure considera di abilitare ProjectSettings.rendering/2d/snap/snap_2d_vertices_to_pixel e ProjectSettings.rendering/2d/snap/snap_2d_transforms_to_pixel.
Se true, la texture è capovolta orizzontalmente.
Se true, la texture è capovolta verticalmente.
Il fotogramma attuale da visualizzare dallo spritesheet. hframes o vframes devono essere maggiori di 1. Questa proprietà è regolata automaticamente quando hframes o vframes sono modificati per continuare a puntare allo stesso fotogramma visivo (stessa colonna e riga). Se ciò è impossibile, questo valore è reimpostato su 0.
Vector2i frame_coords = Vector2i(0, 0) 🔗
Le coordinate del fotogramma da visualizzare dallo spritesheet. Questo è uno pseudonimo per la proprietà frame. hframes o vframes deve essere maggiore di 1.
Il numero di colonne nello spritesheet. Quando questa proprietà è modificata, frame è regolato in modo che è mantenuto lo stesso fotogramma visivo (stessa riga e colonna). Se ciò è impossibile, frame è reimpostato su 0.
Vector2 offset = Vector2(0, 0) 🔗
L'offset di disegno della texture.
Nota: Quando si aumenta offset.y in Sprite2D, lo sprite si sposta verso il basso sullo schermo (ovvero +Y punta verso il basso).
Se true, la texture è ritagliata da una texture più grande di atlante. Vedi region_rect.
Nota: Quando si utilizza uno Shader personalizzato su uno Sprite2D, la costante integrata UV farà riferimento all'intero spazio texture. Utilizza invece la costante integrata REGION_RECT per ottenere la regione attualmente visibile definita in region_rect. Consulta Shader di CanvasItem per i dettagli.
bool region_filter_clip_enabled = false 🔗
Se true, l'area al di fuori della regione region_rect è ritagliata per evitare il bleeding dei pixel circostanti della texture. region_enabled deve essere true.
Rect2 region_rect = Rect2(0, 0, 0, 0) 🔗
La regione della texture d'atlante da visualizzare. region_enabled deve essere true.
L'ogetto Texture2D da disegnare.
Il numero di righe nello spritesheet. Quando questa proprietà è modificata, frame è regolato in modo che è mantenuto lo stesso fotogramma visivo (stessa riga e colonna). Se ciò è impossibile, frame è reimpostato su 0.
Descrizioni dei metodi
Restituisce un Rect2 che rappresenta il confine dello Sprite2D in coordinate locali.
Esempio: Rileva se lo Sprite2D è stato cliccato:
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("Un clic!")
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("Un clic!");
}
}
}
}
bool is_pixel_opaque(pos: Vector2) const 🔗
Restituisce true se il pixel nella posizione specificata è opaco, altrimenti false. La posizione è in coordinate locali.
Nota: Restituisce anche false se la texture dello sprite è null o se la posizione specificata non è valida.