2016-03-07 3 views
3

Попытка получить масштабирование сценария камеры для работы, и это не так. Мои другие части скрипта отлично работают, кроме этого, и я думаю, что это связано с колесом прокрутки мыши.Вход колеса прокрутки мыши не распознается в единстве

void LateUpdate() 
{ 
    if (!EventSystem.current.IsPointerOverGameObject()) 
    {  
     if(Input.GetAxis("Mouse ScrollWheel")<0) 
     { 
      CameraZoom(); 
     } 
    } 
} 

public void CameraZoom() 
{ 
    if (!EventSystem.current.IsPointerOverGameObject()) 
    { 
     distance = Mathf.Clamp(distance - Input.GetAxis("Mouse ScrollWheel") * zoomFactor, distanceMin, distanceMax); 
     RaycastHit hit; 

     if (Physics.Linecast(target.position, transform.position, out hit)) 
     { 
      distance -= hit.distance; 
     } 
    } 
} 

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

+0

Что не может быть сделано? Вы получаете исключение? Это просто не прокрутка? – Ageonix

+1

Кроме того, любая конкретная причина, по которой вы делаете это в LateUpdate вместо обновления? – Ageonix

+1

Я тупой, отлично сработал. Большое спасибо. –

ответ

1

Попробуйте поместить этот код в Update() вместо LateUpdate().

void Update() 
{ 
if (!EventSystem.current.IsPointerOverGameObject()) 
    {  
    if(Input.GetAxis("Mouse ScrollWheel")<0) 
     { 
      CameraZoom(); 
     } 
    } 
}