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
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. Restituisce anche false se la posizione specificata è fuori dai limiti o se la texture di questo sprite è null. pos è in coordinate locali.