Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax

Ответ
 
Опции темы
Старый 26.10.2008, 16:55   #1
snikers
Нуждающийся
 
Аватар для snikers
 
Регистрация: 23.08.2008
Сообщений: 55
Написано 4 полезных сообщений
(для 4 пользователей)
Организация загрузки ресурсов?

Подскажите как вы ето реализовываете?

Тоесть у меня есть стейт-система, например STATE = STATE_LOADING.

Select STATE
Case STATE_BLABLA
blabla
Case STATE_LOADING
LoadRes()
DrawLoadBar()
End Select

Дело в том что, пока ресурсы не загрузятся лоадбар не обновится...
__________________
мои игры


требуется художник, за подробностями в асю - 428078069
(Offline)
 
Ответить с цитированием
Старый 26.10.2008, 17:09   #2
jimon
 
Сообщений: n/a
Ответ: Организация загрузки ресурсов?

обновляю лоадбар между загрузкой картинок
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
snikers (26.10.2008)
Старый 26.10.2008, 17:58   #3
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Организация загрузки ресурсов?

У меня в игре весит глобальный хук на чтение с диска, и прогресс-бар обновляется с частотой 2 раза в секунду.
__________________
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
impersonalis (26.10.2008), snikers (26.10.2008)
Старый 26.10.2008, 18:16   #4
snikers
Нуждающийся
 
Аватар для snikers
 
Регистрация: 23.08.2008
Сообщений: 55
Написано 4 полезных сообщений
(для 4 пользователей)
Ответ: Организация загрузки ресурсов?

SBJoker, можеш, пожалуста обяснить по подробней?
__________________
мои игры


требуется художник, за подробностями в асю - 428078069
(Offline)
 
Ответить с цитированием
Старый 26.10.2008, 19:06   #5
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Организация загрузки ресурсов?

На самом деле всё просто, чтобы рисовать нормальный прогресс бар, нам нужно знать сколько все (по количеству или по объёму) данных мы должны загрузить. Это сделать несложно, можно подсчитать заранее или написать несложный алгоритм подсчёта.

Так же нам нужно в любой момент времени знать сколько уже прочитано (файлов или данных по объёму).

С прогрессом по файлам уже всё ясно, обновляемся между загрузками файлов. Однако есть большой минус, прогресс бар неимеет соответствия масштаба и продолжтительности загрузки, т.е. он нелинеен. Большой файл грузится долго а увеличивает длину прогресс бара так же как и мелкие файлы.

Если мы хотим плавного движение прогремм бара мы должны считать чколько загружено данных в байтах.

Для этого в бмаксе есть всё необходимое. А именно возможность наследования. Если мы пронаследуем поток (а в бмаксе всё загружается именно через него) и зарегистрируем свой протокол, например progress:: , то мы можем сделать хук (hook) ну крюк вопщем... Т.е. мы делаем класс оболочку через которую идёт вся загрузка. Для этого мы реализовываем там все стандартные методы чтения в которых мы и ведём подсчёт байт, после чего вызываем родительский класс через указатель Super . Так же там мы делаем указатель на функцию вызываемую для обновления прогресс бара, присвоив указателю имя реальной функции в коде мы их свяжем. А наш класс-оболочка будет через заданые промежутки времени вызывать эту функцию передавая ей посчитаный процент готовности.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
snikers (26.10.2008)
Старый 28.10.2008, 21:26   #6
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: Организация загрузки ресурсов?

поподробнее про хук, пжласта
__________________
(Offline)
 
Ответить с цитированием
Старый 29.10.2008, 00:23   #7
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Организация загрузки ресурсов?

имхо проще вам исходник дать
__________________
(Offline)
 
Ответить с цитированием
Старый 29.10.2008, 10:10   #8
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: Организация загрузки ресурсов?

разберемся, в общем принцип понятен, унаследовать от потока и завести колбэк на ф-цию обновления бара, а хук вешать на тик? так?
кидай сорс
__________________
(Offline)
 
Ответить с цитированием
Старый 29.10.2008, 11:05   #9
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Организация загрузки ресурсов?

Вот исходник:
Вложения
Тип файла: zip TProgress.zip (1.3 Кб, 608 просмотров)
__________________
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
dimanche13 (29.10.2008), snikers (29.10.2008)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрытие ресурсов dector Blitz3D 24 10.08.2008 11:14
FPS Экономия ресурсов -=SCiP=- 3D-программирование 56 17.04.2008 12:40
Менеджер ресурсов dimanche13 BlitzMax 1 12.12.2007 14:11
Организация загрузки карт mr.DIMAS 3D-программирование 6 21.03.2007 15:35
Еще раз о чистке ресурсов SubZer0 Программирование 1 30.09.2006 11:10


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com