Показать сообщение отдельно
Старый 06.01.2008, 13:00   #3
H@NON
Дэвелопер
 
Регистрация: 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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Andvrok (17.08.2009)