using System.IO;
using UnityEngine;
using UnityEngine.UI; // Если вы хотите отображать изображение на UI.
public class ImageLoader : MonoBehaviour
{
public string folderName = "Sprites"; // Название вашей папки
public string imageNamePrefix = "spr_"; // Префикс для названий изображений
public int numberOfImagesToLoad = 2; // Сколько изображений вы хотите загрузить
// Пример использования для отображения на Canvas
public Image displayImage; // Присвойте это в инспекторе, если используете UI Image
void Start()
{
LoadImagesFromFolder();
}
void LoadImagesFromFolder()
{
// Получаем путь к папке, где находится исполняемый файл игры
string gamePath = Application.dataPath;
// В билде Application.dataPath указывает на папку с данными (.exe_Data)
// Нам нужно подняться на один уровень, чтобы найти папку рядом с .exe
string parentFolder = Path.GetDirectoryName(gamePath);
// Объединяем путь к родительской папке с названием вашей папки с картинками
string fullPathToSpritesFolder = Path.Combine(parentFolder, folderName);
if (!Directory.Exists(fullPathToSpritesFolder))
{
Debug.LogError("Папка '" + folderName + "' не найдена по пути: " + fullPathToSpritesFolder);
return;
}
for (int i = 0; i < numberOfImagesToLoad; i++)
{
// Формируем полное имя файла (например, spr_0.png)
string imageFileName = imageNamePrefix + i + ".png"; // или .jpg
string fullImagePath = Path.Combine(fullPathToSpritesFolder, imageFileName);
if (File.Exists(fullImagePath))
{
byte[] imageData = File.ReadAllBytes(fullImagePath);
Texture2D texture = new Texture2D(2, 2); // Размеры будут скорректированы при загрузке
// Загружаем изображение в Texture2D
if (texture.LoadImage(imageData))
{
Debug.Log("Изображение " + imageFileName + " успешно загружено!");
// Пример: отображение первого загруженного изображения на UI Image
if (i == 0 && displayImage != null)
{
Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
displayImage.sprite = sprite;
}
// Можете сохранить texture в список или использовать по мере необходимости
}
else
{
Debug.LogError("Не удалось загрузить изображение: " + fullImagePath);
}
}
else
{
Debug.LogWarning("Изображение не найдено: " + fullImagePath);
}
}
}
}