Итак, я делаю эту маленькую игру для университета, и у меня возникла проблема с изменением размера спрайтов. Моя игра похожа на приключение в графическом стиле c (остров обезьян, мрачный фандан go и прочее), и в ней есть инвентарь, в котором можно сохранять предметы. Проблема в , хотя спрайты мировых объектов хороши и имеют разные размеры, я хочу, чтобы их спрайты были изменены в размерах и сохранены в инвентаре, чтобы они могли поместиться.
Я думал, что это было сделано с использованием класса Bounds
, но у меня есть некоторые проблемы с ним. Кроме того: учебник, за которым я следовал, сделал то, что в свое время могло бы сработать, но теперь оно дает мне ошибку компиляции. Ниже показана моя функция сохранения элемента (и изменения размера его спрайта в процессе):
void SaveInventoryItem()
{
string name = transform.parent.gameObject.name;
GameObject temporaryObject = Instantiate(inventoryItemPrefab);
temporaryObject.name = name;
temporaryObject.gameObject.GetComponent<SpriteRenderer>().sprite = transform.parent.GetComponent<SpriteRenderer>().sprite;
temporaryObject.transform.parent = inventoryCanvas.transform;
temporaryObject.transform.position = Vector3.forward * -1;
temporaryObject.gameObject.GetComponentInChildren<InteractZone>().interactText = "Usar " + name;
Bounds bounds = temporaryObject.gameObject.GetComponent<SpriteRenderer>().sprite.bounds.size ;
float factor = General.inventoryItemSize / bounds.size.y;
}
Ошибка говорит не может конвертировать из UnityEngine.Vector3 в UnityEngine.Bounds
Если кто-то знает способ устранения этой ошибки или другой способ изменения размера спрайтов в размере по умолчанию, сообщите мне.