Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2011, 04:29   #1
Ksardas13
Форумчанин
 
Регистрация: 24.03.2011
Сообщений: 120
Восклицание Управляем объектом на экране с клавиатуры

Столкнулся с глупой проблемой - как реализовать, к примеру, управление кубиком, бегающим по экрану, с клавиатуры. Т.е. чтобы он реагировал на клавиши W,A,S,D и ехал в нужном направлении.

Задача сделать это в Dev-Cpp. Про много поточность и графику знаю, нужна помощь в работе с клавиатурой(операторы, алгоритмы, статьи и сопутствующие советы, если вдруг таковые есть... ибо в идеале у меня цель создать примитивную 2D игрушку). Буду благодарен за ответы.
Ksardas13 вне форума Ответить с цитированием
Старый 27.06.2011, 07:01   #2
Kukurudza
Форумчанин
 
Регистрация: 02.06.2011
Сообщений: 282
По умолчанию

я рисовал игруху трехмерную в опенжл просто отлавливал сообщение от клавиатуры, то есть нажали кнопку "q" выполнили такую-то функцию. не?
Kukurudza вне форума Ответить с цитированием
Старый 27.06.2011, 09:15   #3
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Вперед читать про
OpenGL - http://nehe.gamedev.net/
или
DirectX - http://msdn.microsoft.com/en-us/directx/
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 27.06.2011, 11:40   #4
Ksardas13
Форумчанин
 
Регистрация: 24.03.2011
Сообщений: 120
По умолчанию

Цитата:
http://nehe.gamedev.net/
Ммм, офигенная ссылка. О_о

ps: вопрос на засыпку - а если не пользоваться OpenGl? Как допустим тупо сделать реакцию консольного приложения на нажатие клавиши(сделали графическое окошко, зажгли в нём один пиксель с координатами х,у . И отлавливаем в отдельном потоке нажатие клавиши пробел, как только клавиша нажата - перемещаем его, пиксель, вправо.)?
Но вё же пополз скачивать уроки по OpenGl.))

ps: открываю карты - делаю чужой курсовик - для начала нужно всего лишь научить 2D кубик ездить по экрану от нажатия клавиш и времени в обрез. Так что буду рад советом в данном направлении. Или всё таки OpenGl мне в этом кок раз и поможет?(просто не работал я с ним ещё.(( )

Последний раз редактировалось Stilet; 27.06.2011 в 13:02.
Ksardas13 вне форума Ответить с цитированием
Старый 27.06.2011, 12:16   #5
Kukurudza
Форумчанин
 
Регистрация: 02.06.2011
Сообщений: 282
По умолчанию

не парь себе мозги, качай опенжл и радуйся. там все это делается элементарно.
Kukurudza вне форума Ответить с цитированием
Старый 27.06.2011, 12:30   #6
Guy
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 398
По умолчанию

Ну или по рабочекрестьянски с отрисовкой на форме элементов и обработка сигналики OnKeyPress....
Guy вне форума Ответить с цитированием
Старый 27.06.2011, 14:23   #7
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Ksardas13 Посмотреть сообщение
Ммм, офигенная ссылка. О_о
Чем ресурс не нравится?

Цитата:
Сообщение от Ksardas13 Посмотреть сообщение
ps: вопрос на засыпку - а если не пользоваться OpenGl?
Тогда использовать DirectX, WinAPI (если Windows) или ассемблер для работы с видео-картой на самом низком уровне.
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 27.06.2011, 14:51   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
ассемблер для работы с видео-картой на самом низком уровне.
как громко то сказано, на практике винда не даст доступа.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.06.2011, 14:54   #9
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
как громко то сказано, на практике винда не даст доступа.
Возможно, никогда этим не занимался.
Но:
Драйвера под винду все же пишут.
Кроме винды есть другие ОС
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 27.06.2011, 15:31   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Драйвера под винду все же пишут.
драйвер и приложение разные вещи.

а насчет ОС, любая ОС защищенного режима ограничивает доступ к оборудованию, иначе не было б всех этих АПИ для рисования(основная их цель именно вывести на экран, а не нарисовать за нас, бери сырые растры и рисуй в них, но вывести опять же через АПИ)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с объектом HBITMAP Anubys Win Api 2 03.05.2011 13:07
Управляем любыми устройствами с компа Vova777 Общие вопросы Delphi 12 31.01.2011 16:27
разрабоать Ассемблер программу, отображающую на экране текущее состояние байтов статуса клавиатуры. Ivan73 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 15.06.2009 22:30
Проблема с COM объектом resu654 Общие вопросы Delphi 2 25.05.2009 23:00
принадлежит ли число, введённое с клавиатуры отрезку (а;в). Границы отрезка вводятся с клавиатуры Maria, Russia Помощь студентам 3 17.02.2009 22:01