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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DirectInput обработка событий 
:(
    Опции темы
PRF
Дата 27.7.2009, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Здравствуйте. У меня вопрос скорее всего не к практической реализации кода, а как этот код расформировать в проекте. 
Ситуация такая. 
Всю инициализацию DirectInput (само устройство, клавиатуру , мышь) я поместил в отдельный класс cDI. Мне надо реализовать движение, т.е по нажатию, допустим стрелки, наблюдатель двигался вперед, т.е когда я получаю от клавиатуры стрелку у меня все координаты сцены должны пересчитаться. Так вот. Сама функция обработки нажатой клавиши по идеи можно запихать в класс cDI, но мне не хочется делать в этом классе пересчет координат объекта (ну когда допустим нажал стреклу и дальше какое то действие, вот это действие не хочется реализовывать в классе cDI). Просто класс создан для работы с DirectInput, а не для пересчета координат сцены, некрасиво получается. 

Такое предложение: Просто функцию в классе сделать, которая бы возвращала клавишу, ну только возвращала, а обрабатывать ее допустим в WinMain . Ну или в функции которая вызывается из winmain, ведь функция

Код

LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
}

отвечает за обработку событий приложения , ну окна, а не directx, там т.е обработку делать нельзя,? я так понимаю

Теперь вопрос: как мне распределить этот код обработки и пересчета координат?  не хотелось бы делать пересчет координат делать в классе который отвечает совсем за другое. 
Спасибо.

PM MAIL   Вверх
BorisVorontsov
Дата 6.8.2009, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Thinker
**


Профиль
Группа: Комодератор
Сообщений: 714
Регистрация: 3.11.2005
Где: Молдавия, г. Киши нёв

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



Нашел проблему smile Да просто добавь обработчики событий в свой класс.


--------------------
[code=cpp]
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
[/code]
PM MAIL ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

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

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


 




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


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

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