Четверг, 28 Марта 2024, 13:09

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Resources и UnloadUnusedAssets[РЕШЕНО ДЛЯ UNITY 3.5.2+] (Выгрузка текстуры из ОЗУ загружена была через Resources.Load)
Resources и UnloadUnusedAssets[РЕШЕНО ДЛЯ UNITY 3.5.2+]
MungoXPДата: Понедельник, 18 Июня 2012, 02:19 | Сообщение # 1
был не раз
Сейчас нет на сайте
Мне нужно, чтобы у меня при нажатии на кнопку появлялась GUITexture, при повторном нажатии она выгружалась и загружалась новая. Игра для iOS. Для теста написал скрипт, который выгружает текстуры через определенный промежуток времени.

Code

function OnGUI ()
{
DestroyTextures ();
}

function DestroyTextures ()
{
            var i = Resources.Load("1ps");
               GUI.DrawTexture(new Rect(275, 240, 460, 248), i, ScaleMode.ScaleToFit, true, 0f);
               yield WaitForSeconds(1);
               Resources.UnloadUnusedAssets();    
               i = null;
}


Он не работает, как я понимаю из-за того, что 1ps изпользуется. Но как сделать так, чтобы она(или все текстуры) выгрузились в не зависимости от того, используется он или нет?

Ну а вообще мне надо:
Code

var i = 1;
var iBox : GameObject;

function iFuntion()
{

           switch (i)
           {
               case 1:
                Resources.UnloadUnusedAssets();
                   iBox.image = Resources.Load("1i");
                   break;
               case 2:
                   Resources.UnloadUnusedAssets();
                   iBox.image = Resources.Load("2i");
                   break;
               case 3:
                   Resources.UnloadUnusedAssets();
                   iBox.image = Resources.Load("3i");
                   break;
       }
}


То есть, чтобы выгружалась старая текстура, а за ней загружалась новая. И это забивало минимум памяти. Может кто-то подсказать? Просьба разъяснить ибо я еще не профи).

P.S.: Или может я вообще все делаю не так?

Добавлено (18.06.2012, 02:17)
---------------------------------------------
Нашел решение проблемы, но только для Unity 3.5.2:
Resources.UnloadAsset(Object asset);

Добавлено (18.06.2012, 02:19)
---------------------------------------------
Но у меня 3.5. Новую версию скачать, к сожалению, не могу.


Сообщение отредактировал MungoXP - Среда, 20 Июня 2012, 01:13
iNikitДата: Понедельник, 18 Июня 2012, 02:39 | Сообщение # 2
участник
Сейчас нет на сайте
Quote (MungoXP)
Новую версию скачать, к сожалению, не могу.

Если не секрет, то с чем это связано?



Самый лучший юзер GCUP :3
MungoXPДата: Среда, 20 Июня 2012, 01:13 | Сообщение # 3
был не раз
Сейчас нет на сайте
SkyLink рулит)

Добавлено (18.06.2012, 03:01)
---------------------------------------------
P.S.: Я с модема, трафик маленький.

Добавлено (20.06.2012, 01:13)
---------------------------------------------
Cъезжид в Москву и скачал новый Unity.

Сообщение отредактировал MungoXP - Понедельник, 18 Июня 2012, 03:01
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Resources и UnloadUnusedAssets[РЕШЕНО ДЛЯ UNITY 3.5.2+] (Выгрузка текстуры из ОЗУ загружена была через Resources.Load)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг