[1.6] Незаметная подгрузка файлов мода вместе с игрой

Статус
В этой теме нельзя размещать новые ответы.
127
0
Здравствуйте. Я тут намудрил кое-что, вообщем, у меня есть картинка 1024x1024, она должна подгружаться в определенный момент клиентом и выводиться на экран. Все это работает, но игра подлагивает на моменте ее подгрузки и это сильно удручает, не хотелось бы предоставлять такой сырой вариант пользователю.

Может есть у кого мысли, как подгружать эту картинку во время загрузки мира ?
 

necauqua

когда-то был anti344
Администратор
1,216
27
172
Мира или мода? Если мода, то не тупи, просто где-то в ините. Если они у тебя разные для миров, или еще чего, что есть такой евент, WorldEvent.Load называется.


Типа мы не знаем, зачем тебе выводить картинку на экран, испоганенный ты человек.
 
127
0
anti344 написал(а):
Мира или мода? Если мода, то не тупи, просто где-то в ините. Если они у тебя разные для миров, или еще чего, что есть такой евент, WorldEvent.Load называется.


Типа мы не знаем, зачем тебе выводить картинку на экран, испоганенный ты человек.
Ну, у меня ивент GuiIngame'а, только картинка там при условии рендерится. Вот странно то, что рендерится она как раз после выполнения условия, а не после загрузки ивента =\
 
1,990
18
105
[font=Verdana, Helvetica, Arial, sans-serif]Все это работает, но игра подлагивает на моменте ее подгрузки и это сильно удручает, не хотелось бы предоставлять такой сырой вариант пользователю.[/font]
Потоки. Грузи в отдельном потоке, при рендере проверяй состояние. Если не загружена - пропускаем рендер.
 
127
0
Oldestkon написал(а):
[font=Verdana, Helvetica, Arial, sans-serif]Все это работает, но игра подлагивает на моменте ее подгрузки и это сильно удручает, не хотелось бы предоставлять такой сырой вариант пользователю.[/font]
Потоки. Грузи в отдельном потоке, при рендере проверяй состояние. Если не загружена - пропускаем рендер.
Эмм, я умею работать с потоками, но как их применить здесь ? Я ведь не могу в run() вызвать ивент, и даже в конструкторе не могу.
[merge_posts_bbcode]Добавлено: 01.04.2014 23:24:28[/merge_posts_bbcode]

Dragon2488 написал(а):
GuiIngame ивент работает вроде всегда, пока ты в мире.
Работает всегда, но рендерит в последний момент.
 
1,990
18
105
Берешь событие, далее участок кода, который отвечает за подгрузку изображения и последнее пихаешь в поток:


Код:
Thread t;
public void onEvent() {
  t = new Thread() {
    public boolean loaded = false;
    public void run() {
      loadImage();
      loaded = true;
    }
  }
}
<...>
public void renderGUIOverlay() {
<...>
    if (t.loaded)
      renderMyImage();
<...>
}
 
905
5
> игра подлагивает на моменте ее подгрузки
> 1024х1024
> Дата: Апрель, 1, 2014
Насмешил.
 
127
0
Oldestkon написал(а):
Берешь событие, далее участок кода, который отвечает за подгрузку изображения и последнее пихаешь в поток:


Код:
Thread t;
public void onEvent() {
  t = new Thread() {
    public boolean loaded = false;
    public void run() {
      loadImage();
      loaded = true;
    }
  }
}
<...>
public void renderGUIOverlay() {
<...>
    if (t.loaded)
      renderMyImage();
<...>
}
Понял. Сделал. Заработало. Спасибо. :)
[merge_posts_bbcode]Добавлено: 02.04.2014 00:15:07[/merge_posts_bbcode]

laz2727 написал(а):
> игра подлагивает на моменте ее подгрузки
> 1024х1024
> Дата: Апрель, 1, 2014
Насмешил.
Прошу прощения, если что-либо не так.
 

necauqua

когда-то был anti344
Администратор
1,216
27
172
Oldestkon написал(а):
[font=Verdana, Helvetica, Arial, sans-serif]Все это работает, но игра подлагивает на моменте ее подгрузки и это сильно удручает, не хотелось бы предоставлять такой сырой вариант пользователю.[/font]
Потоки. Грузи в отдельном потоке, при рендере проверяй состояние. Если не загружена - пропускаем рендер.
Потоки, конечно, забавная вещь, но в майнкрафте лучше ими не пользоваться. Тем более для такой мелочи, как подгрузка чего-то там(ну это же не computer craft тебе).
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху