Главная страница
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.05 c
1-1110281018
zioza
2005-03-08 14:23
2005.03.20
Как сделать что бы при запуске особово файла запускалась моя прог


3-1108633607
Tormoz
2005-02-17 12:46
2005.03.20
Контроль количества в складских операциях


4-1107880870
Anthony
2005-02-08 19:41
2005.03.20
Как найти все CD приводы?


14-1109438464
hacker
2005-02-26 20:21
2005.03.20
Как заменить компоненты в Win


3-1108732968
DSKalugin
2005-02-18 16:22
2005.03.20
Кодировка DOS в Paradox4.5