forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   Движение камеры колёсиком (http://forum.boolean.name/showthread.php?t=7341)

Miha 17.11.2008 16:14

Движение камеры колёсиком
 
Здравствуйте!
Подскажите пожалста каие параметры и откуда их вообще взять у WM_MOUSEWHEEL.
Т.е. куда была прокрутка, скорость и вообще...
Само сообщение работает.
Пробовал узнать параметры
MessageBox(hwnd,itoa(wParam,str,0),"dasd",0);
вообще вылетает.

На C++ пишу недавно!
помогите пжлста!
Спасибо!!!

HolyDel 17.11.2008 16:32

Ответ: Движение камеры колёсиком
 
http://msdn.microsoft.com/en-us/library/ms860529.aspx

третий параметр - основание СС. должен быть 10, чтобы число было приведено в привычный вид.
строка должна быть инициализирвоанна нормально (память под нее должна быть выделена).

char* str = new char[255];
MessageBox(hwnd,itoa(wParam,str,10),"dasd",0);
delete[] char;

Miha 17.11.2008 16:45

Ответ: Движение камеры колёсиком
 
Спасибо, но как мне передать параметры взависимости от направления прокрутки. Т.е. Например при нажатии на правую кнопку и на стрелки клавы у меня камера двигается, а чтоб ещё камера быстрее двигалась нужно обработать колесо мыши.
КАК???

HolyDel 17.11.2008 17:02

Ответ: Движение камеры колёсиком
 
я не знаю :)

месседжбокс что выводит?

Miha 17.11.2008 17:07

Ответ: Движение камеры колёсиком
 
-wParam
Если вперёд - "7864320"
назад - "-7864320"
-lParam
Если вперёд - "23593481"
назад - "26214925"

HolyDel 17.11.2008 17:14

Ответ: Движение камеры колёсиком
 
На предыдущий вопрос ответ получил?

Цитата:

как мне передать параметры взависимости от направления прокрутки
подсказка:
используй силу! (wParam) (можно sign(wParam), или что там)

Miha 17.11.2008 17:24

Ответ: Движение камеры колёсиком
 
Зделал так:
case WM_MOUSEWHEEL:
if(wParam==7864320){SPEED = TRUE;}else{SPEED = FALSE;}
А в
case WM_TIMER:
...
if (keys[VK_UP]){Camera.MoveCamera(UP);}
if (keys[VK_UP] && SPEED==TRUE){Camera.MoveCamera(UP+0.1f);}
...
Но так ка сообщения идут очередью движение прерывается до следующего нажатия

HolyDel 17.11.2008 17:33

Ответ: Движение камеры колёсиком
 
Цитата:

Но так ка сообщения идут очередью движение прерывается до следующего нажатия
это проблема mousewheel или такие keys[]? Мне почему ток ажется что второе. А так да, при провернутом колесе вверх скорость должна увеличиваться на 110 процентов. При провернутом вниз - соотвественно становиться базовой (в случае если SPEED переменная одна и та же в двух блоках кода, и вообще, КАПСОМ принято обзывать всякие дефайны и константы, но не переменные)

Miha 17.11.2008 17:37

Ответ: Движение камеры колёсиком
 
Цитата:

КАПСОМ
Что это?
А понятно.
Верхний регистр


Часовой пояс GMT +4, время: 09:38.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot