Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование игр, графики и искусственного интеллекта > Как сделать статичную загрузку?


Автор: ZC1989 18.9.2006, 16:32
Люди, подскажите, как сделать загрузку в зародыше игры? не понятно как сделать что бы сцена обновлялась когда процесс загрузки не закончен... есть мысль не делать общую загрузку, а разбить её на несколько этапов, но я слышал, что можно приостановить обработку сообщений и обновить сцену...  smile 

Автор: ZC1989 18.9.2006, 16:48
Блин... люди, опечатка... динамичну загрузку надо сворганить

Автор: NikotiN 18.9.2006, 18:11
отдельный поток?

Автор: ZC1989 18.9.2006, 18:49
ну типа да... просто тот вариант что у меня сейчас, то пока всё не загрузится, ничего не экране не собирается обновлятся... нашёл кажется нужное, но проверить нет возможности... скажите, то ли это?

Цитата

Как сделать так, чтобы во время выполнения длинного метода приложение реагировало на сообщения? 
BOOL ProcessMessages()
{
  MSG msgCur;
  if (!::GetMessage(&msgCur, NULL, NULL, NULL))
  {
   return FALSE;
  }


  // обрабатываем это сообщение

  ::TranslateMessage(&m_msgCur);
  ::DispatchMessage(&m_msgCur);
  return TRUE;
}


это из какой-то ФАКи... будет ли у меня обновлятся сцена с этими изменениями? или надо чтот другое? smile 

Автор: DragonFire 19.9.2006, 22:04
Если ты окно уже создал, то можно обновлять его примерно так:
Код

DC:=GetDC(HWindow); 
//Получаем ссылку
TextOut(DC,480, 350, 'Загрузка...', 11);
// или рисуешь что тебе там надо функциями GDI
SwapBuffers (DC);
//выводишь на экран то, что нарисовал

HWindow:HWND; - ссылка на окно
DC:HDC; - контекст устройства
Я думаю ты это знаешь

З.Ы. Код на Delphi, но на Си перевести его несложно, все функции APIшные...

Автор: ZC1989 21.9.2006, 13:17
DragonFire, пасиб... я попробую... но вот ещё вопросик, как лучше всего расчитывать процентное соотношение загрузки? федь файлы разного размера бывают... smile 

Автор: DragonFire 21.9.2006, 19:09
Во всех программах, которые я видел, полоска никогода не движется равномерно... 
Не мучайся и просто преми за 100% общее кол-во файлов. Ну если очень хочется, сначало получи все размеры файлов, а потом их сумируй и принимай за 100%, но помоему это муторно очень...

Автор: ZC1989 21.9.2006, 20:01
DragonFire, вот я то же думаю считать общий объём файлов мутно.... а вот просто колличество файлов брать за 100% это мне кажется нормальным, всё же, нагрузки меньше =) пасибо за совет

Автор: DragonFire 21.9.2006, 22:46
Цитата(ZC1989 @  21.9.2006,  20:01 Найти цитируемый пост)
а вот просто колличество файлов брать за 100% это мне кажется нормальным, всё же, нагрузки меньше

В точку... Зачем тебе делать лишние расчеты, если и так при загрузке система тратит достаточно много ресурсов? Пусть лучше сама загрузка на доли секунд быстрее будет...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)