Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Вниз

Как сделать экран загрузки в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.043 c
1-1110284608
h010d
2005-03-08 15:23
2005.03.20
Беда с завершением работы потока


1-1109911641
rosl
2005-03-04 07:47
2005.03.20
проверка папки


14-1109743450
Чеширский_Кот
2005-03-02 09:04
2005.03.20
Фальшь и неискренность


1-1110020389
hooch
2005-03-05 13:59
2005.03.20
RecordSet -> ClientDataSet


6-1106216491
New User
2005-01-20 13:21
2005.03.20
Как раскодиравть коки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский