Si l'on veut par exemple centraliser le téléchargement d'images dans une méthode, quelque chose de ce genre:
Code : Tout sélectionner
protected Texture2D LoadPNG(string filePath)
{
if (File.Exists(filePath))
{
fileData = File.ReadAllBytes(filePath);
Texture2D tex2 = new Texture2D(1, 1, TextureFormat.ARGB32, false);
tex2.filterMode = FilterMode.Point;
tex2.wrapMode = TextureWrapMode.Clamp;
tex2.LoadImage(fileData);
return tex2;
}
return null;
}
On peut alors décider de déclarer une fois pour toute une texture (pour éviter de déclarer de nouvelles, dans la méthode, à chaque passage)
Code : Tout sélectionner
Texture2D tex2 = new Texture2D(1, 1, TextureFormat.ARGB32, false);
protected Texture2D LoadPNG(string filePath)
{
if (File.Exists(filePath))
{
fileData = File.ReadAllBytes(filePath);
tex2.filterMode = FilterMode.Point;
tex2.wrapMode = TextureWrapMode.Clamp;
tex2.LoadImage(fileData);
return tex2;
}
return null;
}
Ma question est la suivante: si l'on a un nombre X de game objets, créés dynamiquement et susceptibles d'utiliser cette méthode pour charger chacun des images différentes (ET qui peuvent s'updater dans le temps) quelle est donc la bonne façon de faire pour que l'utilisation de la mémoire ne s'envole pas plus qu'elle ne devrait? Doit-on créer autant de Texture2D qu'il y a de game objects?
Merci!