Я хотел бы сделать шутер от первого лица и двигать камеру мышью. Проблема в том, что когда курсор достигает границ экрана, камера больше не поворачивается. Как я могу держать мышь по центру и обнаруживать ее движения в любом случае?
Я хотел бы сделать шутер от первого лица и двигать камеру мышью. Проблема в том, что когда курсор достигает границ экрана, камера больше не поворачивается. Как я могу держать мышь по центру и обнаруживать ее движения в любом случае?
Ответы:
Общий подход к решению этой проблемы в классическом программировании на Win32 заключается в захвате дельты мыши в каждом кадре, а затем сбрасывает положение мыши в центр экрана. Вы также хотите сделать курсор мыши невидимым, очевидно, в противном случае все выглядит ужасно.
Вы можете сделать то же самое в XNA, вы просто работаете с немного другим интерфейсом. Так что вы можете сделать что-то вроде:
РЕДАКТИРОВАТЬ: Кроме того, вот учебник, который я выкопал с помощью поиска Google для «относительного ввода мыши XNA» (о чем вы спрашиваете). Я думаю, что он немного староват, поэтому некоторые методы, возможно, изменили свои имена, но концепции все еще должны применяться.
EDIT 2: Предназначенный , чтобы сказать «обработки этого в Win32» и не «обработки этого является Win32,» обновлены соответствующим образом .