PMG

Форумы по созданию игр
Текущее время: 27 авг 2026 19:40

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос: Обработка мыши и JPG в текстуру
СообщениеДобавлено: 09 фев 2006 02:05 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 30 янв 2006 23:22
Сообщения: 19
Откуда: Санкт-Петербург
Есть пара вопросов:
1. Как обработать нажатие клавиши мыши, есть ли какое-нибудь значение как например у левой стрелки VK_LEFT, как получать координаты мыши я знаю.
2. Возможно ли использовать файлы JPG в качестве текстур, если да, то как. Хочу прогу сделать максимально компактной, а BMP этому, естественно, не способствует...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 фев 2006 10:20 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
1 - не совсем понятно ;(. Получаешь координаты указателя и состояние клавиш в зависимости от этого реализуешь свой алгоритм. Например, есть место на экране при нажатии на которое - выход из проги.

2 - это надо либу подходящую использовать. Например Devil. Вот ссылки на либы:

http://www.xdp.it/cximage.htm - CxImage for Win
http://openil.sourceforge.net/ - DevIL
http://www.imagemagick.org/
http://freeimage.sourceforge.net/
http://www.paintlib.de/
http://www.graphicsmagick.org/

По-моему лучше всего DevIL, так как там есть сразу загрузка в текстуру.
http://forum.pmg.org.ru/viewtopic.php?t=16

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 фев 2006 19:13 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 30 янв 2006 23:22
Сообщения: 19
Откуда: Санкт-Петербург
Не, как сделать обработку события мне ясно, просто я не знаю значение клавиш мыши, знаю для стрелок (VK_LEFT, VK_RIGHT,..), знаю для F'ов и т.д., а для мыши я знаю только как получить ее местоположение [GetMousePos(POINT mpos)], я не знаю как получить сосотояние клавиш...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 10 фев 2006 14:00 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
GetMousePos - не знаю такой функции в Win32 API?!

Знаю только что нужно обрабатывать сообщения от Win. Вот пример:
Код:
  case WM_LBUTTONDOWN:
    ev_mouse.button_mouse |= 1;
    ev.what[0] = EVENT_MOUSE_KEY;
    ev.data[0] = (void*)&ev_mouse;
    ev.count = 1;
    event_scenes();
    break;
  case WM_LBUTTONUP:
    ev_mouse.button_mouse &= 0xe;
    ev.what[0] = EVENT_MOUSE_KEY;
    ev.data[0] = (void*)&ev_mouse;
    ev.count = 1;
    event_scenes();
    break;
     
  case WM_RBUTTONDOWN:
    ev_mouse.button_mouse |= 2;
    ev.what[0] = EVENT_MOUSE_KEY;
    ev.data[0] = (void*)&ev_mouse;
    ev.count = 1;
    event_scenes();
    break;
  case WM_RBUTTONUP:
    ev_mouse.button_mouse &= 0xd;
    ev.what[0] = EVENT_MOUSE_KEY;
    ev.data[0] = (void*)&ev_mouse;
    ev.count = 1;
    event_scenes();
    break;
     
  case WM_MBUTTONDOWN:
    ev_mouse.button_mouse |= 4;
    ev.what[0] = EVENT_MOUSE_KEY;
    ev.data[0] = (void*)&ev_mouse;
    ev.count = 1;
    event_scenes();
    break;
  case WM_MBUTTONUP:
    ev_mouse.button_mouse &= 0xb;
    ev.what[0] = EVENT_MOUSE_KEY;
    ev.data[0] = (void*)&ev_mouse;
    ev.count = 1;
    event_scenes();
    break;

  case WM_MOUSEMOVE:
    ev_mouse.x_mouse = GET_X_LPARAM(lParam);
    ev_mouse.x_mouse = GET_Y_LPARAM(lParam);
    ev.what[0] = EVENT_MOUSE_XY;
    ev.data[0] = (void*)&ev_mouse;
    ev.count = 1;
    event_scenes();
    break;

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 10 фев 2006 19:40 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 30 янв 2006 23:22
Сообщения: 19
Откуда: Санкт-Петербург
Упс... Я имел ввиду GetCursorPos. Спасибо за помощь!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB