Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.78
piratk0
1 / 1 / 0
Регистрация: 13.03.2011
Сообщений: 17
#1

Считывание нажатий на стрелки - C++

10.08.2011, 12:36. Просмотров 4723. Ответов 12
Метки нет (Все метки)

Подскажите, что нужно написать чтобы можно было определять какая из стрелок была нажата??
То беж:
if <нажата стрелка влево> then x=x-1;
if <нажата стрелка вправо> then x=x+1;
if <нажата стрелка вниз> then y=y-1;
if <нажата стрелка вверх> then y=y+1;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2011, 12:36     Считывание нажатий на стрелки
Посмотрите здесь:

Ограничение нажатий на кнопку - C++
Как сделать что бы на кнопку можно было нажать только один раз в день? в программе уже есть привязка к времени System::DateTime now =...

Обработчик нажатий кнопки - C++
как в c++ создать обработчик нажатий кнопки?

Обработка нажатий клавиш с glfw - C++
Изучаю glfw. Задался вопросом обработки нажатий клавиш. Нашел функцию glfwGetKey(int key), где int key - номер клавиши по какому-то там...

Подсчет и перехват нажатий клавиш - C++
Всем привет! Вот недавно попытался создать счетчика нажатий кнопок, но он очень нестабилен. Создал я его так: 1) создал winforms в vc++...

Эмуляция нажатий клавиш клавиатуры - C++
Посоветуйте, как можно реализовать управление программой (которая управляется с клавиатуры (например игра Quake)) из другой программы...

Отправка нажатий в не активное окно игры - C++
пишу небольшую програмку. требуеться отправлять нажатия в не активное окно игры использую вот такой код конструктор для хранения данных...

Отклик на стрелки - C++
Всем доброго времени суток! У меня было задание сделать в досовской графике следующую штуку: Масштабирование тетраэдра с уменьшением....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
10.08.2011, 12:49     Считывание нажатий на стрелки #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <conio.h>
 
int main(){
  for(;;){
    switch(getch()){
      case 72:
        std::cout << "\nup";
        break;
      case 80:
        std::cout << "\ndown";
        break;
      case 75:
        std::cout << "\nleft";
        break;
      case 77:
        std::cout << "\nright";
        break;
    }
  }
  return 0;
}
silentnuke
Android Programmer
139 / 140 / 5
Регистрация: 08.12.2010
Сообщений: 421
10.08.2011, 12:51     Считывание нажатий на стрелки #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int code=getch();
if(code==0||code==224)
    code=getch();
switch(code)
{
case 75://влево 
    --x;
    break;
case 77://вправо
    ++x;
    break;
case 72://вверх
    ++y;
    break;
case 80://вниз
    --y;
    break;
}
плюс не забудь подключить библиотеку conio.h
piratk0
1 / 1 / 0
Регистрация: 13.03.2011
Сообщений: 17
10.08.2011, 13:24  [ТС]     Считывание нажатий на стрелки #4
Огромное спасибо!!! =)

Добавлено через 29 минут
Блин проблема!!! У меня не видит такой библиотеки !! (( Visual studio 10
dr.curse
387 / 343 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
10.08.2011, 13:26     Считывание нажатий на стрелки #5
piratk0, что выдает
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
10.08.2011, 15:30     Считывание нажатий на стрелки #6
asics, без conio.h никак??
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
10.08.2011, 15:50     Считывание нажатий на стрелки #7
Цитата Сообщение от Mayonez Посмотреть сообщение
без conio.h никак??
Что никак ?
ЛеЖиК)
157 / 60 / 1
Регистрация: 29.04.2011
Сообщений: 631
10.08.2011, 15:57     Считывание нажатий на стрелки #8
piratk0, ты ток написал
C++
1
#inclide <conio.h>
или так
C++
1
#include "conio.h"

Вроде надо писать как в первом варианте
silentnuke
Android Programmer
139 / 140 / 5
Регистрация: 08.12.2010
Сообщений: 421
10.08.2011, 16:13     Считывание нажатий на стрелки #9
Цитата Сообщение от ЛеЖиК) Посмотреть сообщение
piratk0, ты ток написал
C++
1
#inclide <conio.h>
или так
C++
1
#include "conio.h"

Вроде надо писать как в первом варианте
ну во первых, не #inclide, a #include.
а во вторых, при подключении при помощи кавычек(""), если файл не найден в рабочей директории, то он повторяет поиск в директории компилятор, т.к будто было заключено в угловые скобки (<>).
поэтому в этой ситуации, явно роли не играет.
ЛеЖиК)
157 / 60 / 1
Регистрация: 29.04.2011
Сообщений: 631
10.08.2011, 16:16     Считывание нажатий на стрелки #10
Цитата Сообщение от silentnuke Посмотреть сообщение
ну во первых, не #inclide, a #include.
извеняюсь,криворукость

Цитата Сообщение от silentnuke Посмотреть сообщение
поэтому в этой ситуации, явно роли не играет.
у меня бывали раньше случаи что из-за кавычек ошибки выдавал.
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
10.08.2011, 17:13     Считывание нажатий на стрелки #11
Цитата Сообщение от asics Посмотреть сообщение
Что никак ?
не используя conio.h определить какая кнопка нажата
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
10.08.2011, 17:38     Считывание нажатий на стрелки #12
Цитата Сообщение от Mayonez Посмотреть сообщение
не используя conio.h определить какая кнопка нажата
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <windows.h>
 
int main(){
  HANDLE s_in = GetStdHandle(STD_INPUT_HANDLE);
  DWORD dr;
  INPUT_RECORD  rec;
  for(;;){
    ReadConsoleInput(s_in, &rec, sizeof(INPUT_RECORD), &dr);
    FlushConsoleInputBuffer(s_in);
    if(rec.EventType == KEY_EVENT){
      if(rec.Event.KeyEvent.bKeyDown){
        switch(rec.Event.KeyEvent.wVirtualKeyCode) {
          case VK_LEFT:
            std::cout << "\nLEFT";
            break;
          case VK_RIGHT:
            std::cout << "\nRIGHT";
            break;
          case VK_UP:
            std::cout << "\nUP";
            break;
          case VK_DOWN:
            std::cout << "\nDOWN";
            break;
        }
      }
    }
  }
  return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.08.2011, 10:44     Считывание нажатий на стрелки
Еще ссылки по теме:

Стрелки в меню - C++
Доброго времени суток, господа! Суть вопроса вот в чём - есть меню. Надо реализовать переключение в менюхе не с помощью циферок, а...

движение стрелки - C++
привет всем) ребят можете помочь, я только-только недавно стал программировать, и вот такая задача попалась нарисовать ролик (на С++...

Стрелки часов - C++
Доброго времени суток! Нужно написать такую программу: Пользователь вводит угол часов стрелки RT (в радианах 0&lt;=RT&lt;2pi )(угол...

Отлов нажатий клавиш в системе и отправка на email - C++
Всем доброе время суток. Ребята нужна помощь... нада зделать клавиатурный шпион.. но так чтоб он присилал дание по майлу... тоисть с...

Координаты наконечника стрелки - C++
известны координаты начала и конца стрелки (х1, у1) (х2, у2). Рисую эту прямую но нужно чтобы это была не прямая а стрелка. Только вот как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
piratk0
1 / 1 / 0
Регистрация: 13.03.2011
Сообщений: 17
11.08.2011, 10:44  [ТС]     Считывание нажатий на стрелки #13
А подскажите источник, где про это можно почитать )
Yandex
Объявления
11.08.2011, 10:44     Считывание нажатий на стрелки
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru