forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Имитация загрузки (http://forum.boolean.name/showthread.php?t=5491)

Strelok3848 06.01.2008 09:19

Имитация загрузки
 
Всем хай! У меня такая проблема я создал меню и потом когда я нажимаю на "новая игра" у меня комп подвисает(грузит обьекты) а потом заходит уже в игру. Так вот как сделать имитацию загрузки(полоску короче) ? и когда полоска закончилась я бы вошол в игру.

jimon 06.01.2008 12:48

Ответ: Имитация загрузки
 
Strelok3848
рендерить полоску между загрузкой обьектов

Код:

aa = loadmesh()
RenderLoading()

bb = loadmesh()
RenderLoading()

cc = loadmesh()
RenderLoading()

dd = loadmesh()
RenderLoading()

global loads%

function RenderLoading()
loads = loads + 1

; тут рисуем линию в зависимости от loads
end function


H@NON 06.01.2008 13:00

Ответ: Имитация загрузки
 
Очень просто. Создаем спец функцию для визуализации(рисования так сказать)) полоски. Входные параметры должны быть проценты, то есть на сколько полную показывать полоску Function DrawLoading( proc% ). В самой функции будем собстно рисовать эту полоску:
dWidth# = 200/100 * proc%
SetColor 255, 0, 0
DrawRect (GraphicsWidth() shr 1)- 100, (Graphicsheight() shr 1)-30, dWidth#, 60


Далее находим участок где у нас грузиться какой либо ресурс. Например у нас счас грузиться дом LoadMesh("dom.b3d"). Вот перед ним сначало переключаем буффер с заднего на передний, чтобы у нас было видно полоску SetBuffer FrontBuffer(), далее вписываем объявление этой функции и ставим 0 процентов, так как мы еще не загрузили этот объект DrawLoading( 0 ). Теперь переходим на следующую строчку после LoadMesh("dom.b3d") и вписываем то же объявление функции, только уже ставим не нуль процентов, а ,скажем, если у нас всего один ресурс грузиться в игру, то ставим 100% DrawLoading( 100 ), ибо больше ничего не грузиться, если же еще что-либо грузиться, то нужно 100% разделить на сумму всех ресурсов которые будут грузиться. Вот этот на коэффициент мы и будем увеличивать длину полоски загрузки.

ЗЫ Jimon опередил :-[

jimon 06.01.2008 13:31

Ответ: Имитация загрузки
 
H@NON
ты хочешь каждый раз пересчитывать все ети проценты ? :-)
лутче посчитать одним запуском сколько вообще ресурсов
и потом записать :)

impersonalis 06.01.2008 13:51

Ответ: Имитация загрузки
 
http://forum.boolean.name/showthread.php?t=1313

Strelok3848 06.01.2008 13:56

Ответ: Имитация загрузки
 
Спасибо!

IGR 06.01.2008 14:17

Ответ: Имитация загрузки
 
Вложений: 1
Эта тема достаточно популярна на нашем форуме !!
Вот небольшая библиотечка и пример ее использования !!
Вложение 4164
Сорри, залил без медии, потому что потому-что форум отказался принемать...
но думаю Вам не составит труда закинуть в папку media меш, спрайт, муз. файл !!
Там весь обьем медии что загружается считается за 100 проц. !! Потом считается какой процент от общего обьема составляет каждый загружаемый обьект !! и по этим даним рисуется полоска загрузки !!
Как недостаток стоит отметить то, что при загрузке текстурированого меша не учитывается размер текстуры !! По этому есть недочеты, которые при малом колличестве этих мешов незаметны !!

Strelok3848 06.01.2008 14:22

Ответ: Имитация загрузки
 
да я сделал уже и без этой библы.

H@NON 06.01.2008 15:41

Ответ: Имитация загрузки
 
Цитата:

Сообщение от jimon (Сообщение 73010)
H@NON
ты хочешь каждый раз пересчитывать все ети проценты ? :-)
лутче посчитать одним запуском сколько вообще ресурсов
и потом записать :)

нет конечно, можно вообще самому, без предварительного просчета указывать процент, я же наглядно показал как все это работает, чтобы новички не путались. Конечно я не самый хороший учитель, но так как под рукой ссылки на подобную тему не было, то я сделал так.

avel 15.01.2008 21:12

Ответ: Имитация загрузки
 
вот: там и про лоадинг бар тоже есть и еще всякое про ГУИ: линк


Часовой пояс GMT +4, время: 15:20.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot