risposta di FunctionR è probabilmente la risposta più comune, e mi può solo essere sbagliato qui, ma credo che la differenza tra Load()
e Load<T>()
è che Load<T>()
verifica la presenza di meta-dati. "Hole" non è un Sprite
, è un file immagine. Load()
trova il file immagine e lo carica come tipo predefinito per il tipo di file, in questo caso Texture2D
.
In altre parole, non è possibile utilizzare as Sprite
perché non è possibile cast
un Texture2D
ad un Sprite
. È possibile, tuttavia, utilizzare
Texture2D = Resources.Load("GameObjects/Tiles/Hole");
Rect rect = {whatever};
Vector2 pivot = {whatever};
Sprite.Create(texture, rect, pivot);
ma questo richiede di conoscere la dimensione del Sprite
si stava tentando di caricare.
In sintesi, Load()
lo considera basato esclusivamente sul tipo di file che si sta caricando, Load<T>()
include i metadati.
Nel progetto sono presenti più file denominati "Foro"? L'unico comando specifica un tipo di risorsa da cercare, ma l'altro no. A seconda della struttura del file, potrebbero cercare risultati diversi a causa di ciò. – rutter