Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

Как сделать экран загрузки в PowerDraw?   Найти похожие ветки 

 
Гамомака   (2004-12-24 05:39) [0]

Нужно, чтобы при загрузке файлов игры появлялся экран с анимированной заставкой... Все работает, но...

Пользую стандартный таймер из комплекта - PowerTimer - весь код обработки и расчетов сунул в его процедуру RealTime. И вот какая беда: во время загрузки таймер не работает, и поэтому я не могу поменять кадр картинки. Пробовал пихать в процедуру загрузки код типа Application.ProcessMessages и Application.OnIdle(...), но не помогает. А если вызывать PowerTimer.RealTime(...), то нужно передавать значение Delta - а его таймер должен расчитывать сам, иначе будут неправильные расчеты...

Спрашивается, как "разморозить" таймер по время распаковки файлов игры? Использование потоков и замену таймера не предлагать!


 
П7   (2004-12-24 09:43) [1]

Это тебе не сюда, а в компоненты нужно постить.


 
Гамомака   (2004-12-26 03:19) [2]

Почему-же? Вопрос игровой!


 
MeF Dei Corvi ©   (2004-12-26 04:07) [3]

Но используются компоненты.
А зачем вообще юзать таймер?

P.S. Анимированная заставка во время загрузки??? По-моему - не реально, т.к. во время загрузки комп должен быть занят загрузкой, а не выводом анимации.


 
П7   (2004-12-26 05:19) [4]


> MeF Dei Corvi ©   (26.12.04 04:07) [3]

Во второй Халве, говорят, тоже сделали анимацию трёхмерную. Жутко тормозит на медленных компах... ):


> Гамомака   (26.12.04 03:19) [2]

Я, лично, не вижу у тебя игрового вопроса. Ты хочешь "разморозить" таймер. А это компонент и ничего более. Просишь не предлагать замену таймера, что само по себе - идиотизм. Если ты просто не хочешь развиваться, учиться чему-то новому, то о каких играх может речь идти? Извини, если обидел, но я так считаю.


 
Поручик ©   (2004-12-26 16:36) [5]

О чем базар? откажись от ПоверДро.

Картинка должна рундериться постоянно! На любой тик процессора, который ничем не занят должна рендерится сцена, а какая сцена - это уже твое дело, хочещь игровая, хочешь прогрессбар анимированный.
Особо не пользовался Power"ом, но думаю что таймер надо запускать сразу, как только создается окно. F там уж рулишь с помощью какой-нить переменной типа GameState = (Intro, Menu, Level).


 
MeF Dei Corvi ©   (2004-12-27 10:40) [6]

Не на PowerDraw пишется довольно легко. На PowerDraw - не знаю. Никогда им особенно не пользовался.


 
Гамомака   (2004-12-27 10:55) [7]

Просил не предлагать другой таймер, потому что тот очень удобный и хороший... Ну да ладно, подскажите другой таймер, я его код посмотрю, и переделаю стандартный таймер! Только не надо на потоках, а то многое придется переделывать не только в таймере, но и игре :)


 
MeF Dei Corvi ©   (2004-12-27 11:14) [8]


> Ну да ладно, подскажите другой таймер, я его код посмотрю,
> и переделаю стандартный таймер!

Да там в принципе таймер и не нужен.

При загрузке инфы просто время от времени делай прорисовку экрана.


 
Гамомака   (2004-12-27 11:40) [9]

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

НО: Как я уже говорил, пробовал вставлять в функцию распаковки ресурсов код Application.OnIdle(nil, AppIdle), где переменная AppIdle нужна (в этом случае) просто так... И ничего не работало. И сегодня меня озарило: нужно вызывать PowerTimer.AppIdle(nil, AppIdle), и все будет работать :))
Только просто так эту процедуру не вызвать, нужно в модуле таймера (PowerTiming.pas) переместить декларацию procedure AppIdle(Sender: TObject; var Done: Boolean); из Private в Public, чтобы ее можно было вызывать "из вне". Вот так...

Так что вопрос можно считать решенным! Не пришлось ничего менять, всем спасибо за суету :)



Страницы: 1 вся ветка

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.045 c
3-1108632194
Rule
2005-02-17 12:23
2005.03.20
Странно необъяснимое поведение хранимой процедуры в Фаерберде ...


1-1110039402
Leeechhhh
2005-03-05 19:16
2005.03.20
Как выводить свою форму поверх ВСЕХ приложений


6-1105619806
Norny
2005-01-13 15:36
2005.03.20
Простой чат без сервера


6-1105938265
Kacnep
2005-01-17 08:04
2005.03.20
Разбираюсь с ФТП. Пробовал компоненты ФастНета и Инди.


1-1110299907
ser35
2005-03-08 19:38
2005.03.20
Как отобразить словами выбранную дату из календаря