Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему GetSystemTime() не работает? ? DirectX 
:(
    Опции темы
Div
  Дата 3.7.2005, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 3.6.2005
Где: Первоуральск

Репутация: 1
Всего: 1



Я в игре хочу выводить время. После инициализации D3D и загрузки 3D моделей, я записываю в переменные OldGameTimeMin и OldGameTimeSec текущие минуты и секунды соответственно, делаю я это для того, чтобы время в игрушке шло с нуля.

Перед вызовом RenderScene(), я вновь вызываю GetSystemTime(&systime) для обновления времени. После запуска игры на 1-2 сек показывается черный экран и вываливается в винду. Вопрос: почему так?
PM MAIL WWW ICQ   Вверх
empter
Дата 3.7.2005, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фанат
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 20.5.2005

Репутация: 3
Всего: 4



Про твою проблему точно не знаю, но вообще GetSystemTime() работает ОЧЕНЬ медленно. Я использую timeGetTime - возвращает прошедшее время со старта винды. посмотри Help в SDK
PM MAIL MSN   Вверх
Div
Дата 3.7.2005, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 3.6.2005
Где: Первоуральск

Репутация: 1
Всего: 1



Этот таймар работает!!! Спасибо. В нем, правда больше расчетов надо! Ну, да, ладно smile

Кто сможет оптимизировать? smile
Задача: получить из миллисекунд минуты и секунды!

Код

    int tim=0;
    int sec=0;

    NewGameTime=timeGetTime();

    tim=NewGameTime/1000/60/60;    // сколько часов
    tim=tim*1000*60*60;        // сколько часов в миллисекундах
    NewGameTime=NewGameTime-tim;    // миллисекунды без часов
                
    sec=NewGameTime/60/1000;
    sec=sec*60*1000;
    sec=NewGameTime-sec;

    GameTimeMin=NewGameTime/1000/60;
    GameTimeSec=sec/1000;

Добавлено @ 19:17
Кста! В SDK я не нашел! Я смотрел в MSDN.
PM MAIL WWW ICQ   Вверх
empter
Дата 4.7.2005, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фанат
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 20.5.2005

Репутация: 3
Всего: 4



Всегда пожалуйста smile
PM MAIL MSN   Вверх
Helicopter
Дата 22.7.2005, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 22.7.2005

Репутация: нет
Всего: нет



не усложняй код. вот это попробуй

GetTickCount ()/666.0f

число в знаменателе - скорость

PM MAIL   Вверх
Div
Дата 6.8.2005, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 3.6.2005
Где: Первоуральск

Репутация: 1
Всего: 1



Мне больше понравилось так:

SetTimer(hWnd, NULL, NULL, NULL);

А потом через WM_TIMER всё снимать
PM MAIL WWW ICQ   Вверх
empter
Дата 6.8.2005, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фанат
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 20.5.2005

Репутация: 3
Всего: 4



Я читал, что самая быстрая функция получения времени timeGetTime, хотя это уже тебе решать критично ли тебе быстродействие, да и вычислений действительно многовато.
PM MAIL MSN   Вверх
codelord
Дата 6.8.2005, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: нет
Всего: 39



а как тебе GetLocalTime(&systime); ?


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0456 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.