2013-08-19 2 views
1

Как увеличить с помощью колеса прокрутки мыши, я получил попробовать этотXNA масштабирование с помощью колеса прокрутки мыши

 if (currentMouseState.ScrollWheelValue < originalMouseState.ScrollWheelValue) 
     { 
      cameraPosition += new Vector3(0, -1, 0); 
      UpdateViewMatrix(); 
      currentMouseState.ScrollWheelValue.Equals(0); 
     } 
     if (currentMouseState.ScrollWheelValue > originalMouseState.ScrollWheelValue) 
     { 
      cameraPosition += new Vector3(0, 1, 0); 
      UpdateViewMatrix(); 
      currentMouseState.ScrollWheelValue.Equals(0); 
     } 

Но я держать масштабирование, даже если я прокручивать один раз, и я своего рода новым для XNA. Пожалуйста помоги.

ответ

5

ScrollWheelValue получает совокупное значение колеса прокрутки мыши с момента запуска игры, поэтому каждый раз, когда вы его получаете, вам нужно скопировать это значение в переменной, чтобы сравнить его с следующим циклом.

Кроме того, вы не можете установить ScrollWheelValue, и эта линия не так:

currentMouseState.ScrollWheelValue.Equals(0); 

Я думаю, что ваша идея была установить его значение равным 0, но эта команда сравнивает его значение с 0 и дает вам логическое значение.

EDIT:
Вы должны сделать что-то вроде этого:

объявить глобальную переменную

private int previousScrollValue;

и установить его в методе Initialize как:

previousScrollValue = originalMouseState.ScrollWheelValue;

Затем измените свой код, как это:

if (currentMouseState.ScrollWheelValue < previousScrollValue) 
{ 
    cameraPosition += new Vector3(0, -1, 0); 
    UpdateViewMatrix(); 
} 
else if (currentMouseState.ScrollWheelValue > previousScrollValue) 
{ 
    cameraPosition += new Vector3(0, 1, 0); 
    UpdateViewMatrix(); 
} 
previousScrollValue = currentMouseState.ScrollWheelValue; 

Он должен работать.

+0

так как я могу увеличить, как обычный RTS-стиль? – user2640299

+0

Ваш код не так, я отредактирую свой ответ. – pinckerman

+0

oh его нормально..и удалось разобраться, я получил 2 mousestate, так что почему его держать масштабирование и не останавливаться. Спасибо за помощь! – user2640299

Смежные вопросы