Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.2K
Views
Detecta la entrada de desplazamiento de la rueda del mouse con el nuevo sistema de entrada de Unity

Actualmente estoy tratando de detectar la entrada de desplazamiento de la rueda del mouse para mi juego 2D que estoy haciendo actualmente en Unity Engine.

Estoy usando el nuevo sistema de entrada y actualmente estoy atascado con el siguiente código.

 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.InputSystem.Controls; public class ZoomController : MonoBehaviour { private PlayerControls playerControls; private void Awake() { playerControls = new PlayerControls(); } private void OnEnable() { playerControls.Enable(); } private void OnDisable() { playerControls.Disable(); } void Start() { } void Update() { if (playerControls.Land.Zoom.ReadValue<Vector2>().y >= 1) { Debug.Log("Scroll 1"); } else if (playerControls.Land.Zoom.ReadValue<Vector2>().y <= -1) { Debug.Log("Scroll 2"); } } }

ingrese la descripción de la imagen aquí

Si ejecuto el código no pasa nada y no sé por qué.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Si trata la rueda de desplazamiento como un "eje 1D", debe decirle a Unity qué lado (arriba o abajo) debe ganar. De lo contrario, solo recibirá un valor promedio que siempre será 0.

Acción como eje 1D: dile a Unity qué lado gana

Otra opción que es mejor sería dejar pasar el valor y agregar un "Enlace". ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Tenga en cuenta que el valor de desplazamiento predeterminado es 120 en la mayoría de los sistemas, pero en Linux parece ser 1. Por lo tanto, recomendaría simplemente verificar si el valor es mayor o menor que 0 para decidir si se desplaza hacia arriba o hacia abajo.

 float z = zoom.ReadValue<float>(); if (z > 0) Debug.Log("Scroll UP"); else if (z < 0) Debug.Log("Scroll DOWN");
over 4 years ago · Santiago Trujillo Report

0

Usando código solo puedes hacer esto:

 Vector2 vec = Mouse.current.scroll.ReadValue(); scroll = vec.y
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!