|
3D-программирование Вопросы, касающиеся программирования 3D мира |
06.01.2008, 09:19
|
#1
|
Оператор ЭВМ
Регистрация: 05.12.2007
Сообщений: 26
Написано 0 полезных сообщений (для 0 пользователей)
|
Имитация загрузки
Всем хай! У меня такая проблема я создал меню и потом когда я нажимаю на "новая игра" у меня комп подвисает(грузит обьекты) а потом заходит уже в игру. Так вот как сделать имитацию загрузки(полоску короче) ? и когда полоска закончилась я бы вошол в игру.
|
(Offline)
|
|
06.01.2008, 12:48
|
#2
|
|
Ответ: Имитация загрузки
Strelok3848
рендерить полоску между загрузкой обьектов
aa = loadmesh()
RenderLoading()
bb = loadmesh()
RenderLoading()
cc = loadmesh()
RenderLoading()
dd = loadmesh()
RenderLoading()
global loads%
function RenderLoading()
loads = loads + 1
; тут рисуем линию в зависимости от loads
end function
|
|
|
Сообщение было полезно следующим пользователям:
|
|
06.01.2008, 13:00
|
#3
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Ответ: Имитация загрузки
Очень просто. Создаем спец функцию для визуализации(рисования так сказать)) полоски. Входные параметры должны быть проценты, то есть на сколько полную показывать полоску 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 опередил :-[
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
06.01.2008, 13:31
|
#4
|
|
Ответ: Имитация загрузки
H@NON
ты хочешь каждый раз пересчитывать все ети проценты ?
лутче посчитать одним запуском сколько вообще ресурсов
и потом записать
|
|
|
06.01.2008, 13:51
|
#5
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Имитация загрузки
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
06.01.2008, 13:56
|
#6
|
Оператор ЭВМ
Регистрация: 05.12.2007
Сообщений: 26
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Имитация загрузки
Спасибо!
|
(Offline)
|
|
06.01.2008, 14:17
|
#7
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Ответ: Имитация загрузки
Эта тема достаточно популярна на нашем форуме !!
Вот небольшая библиотечка и пример ее использования !!
attaCH.zip
Сорри, залил без медии, потому что потому-что форум отказался принемать...
но думаю Вам не составит труда закинуть в папку media меш, спрайт, муз. файл !!
Там весь обьем медии что загружается считается за 100 проц. !! Потом считается какой процент от общего обьема составляет каждый загружаемый обьект !! и по этим даним рисуется полоска загрузки !!
Как недостаток стоит отметить то, что при загрузке текстурированого меша не учитывается размер текстуры !! По этому есть недочеты, которые при малом колличестве этих мешов незаметны !!
|
(Offline)
|
|
06.01.2008, 14:22
|
#8
|
Оператор ЭВМ
Регистрация: 05.12.2007
Сообщений: 26
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Имитация загрузки
да я сделал уже и без этой библы.
|
(Offline)
|
|
06.01.2008, 15:41
|
#9
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Ответ: Имитация загрузки
Сообщение от jimon
H@NON
ты хочешь каждый раз пересчитывать все ети проценты ?
лутче посчитать одним запуском сколько вообще ресурсов
и потом записать
|
нет конечно, можно вообще самому, без предварительного просчета указывать процент, я же наглядно показал как все это работает, чтобы новички не путались. Конечно я не самый хороший учитель, но так как под рукой ссылки на подобную тему не было, то я сделал так.
|
(Offline)
|
|
15.01.2008, 21:12
|
#10
|
Бывалый
Регистрация: 12.10.2006
Сообщений: 737
Написано 131 полезных сообщений (для 452 пользователей)
|
Ответ: Имитация загрузки
вот: там и про лоадинг бар тоже есть и еще всякое про ГУИ: линк
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:26.
|