版本: Unity 6 (6000.0)
语言English
  • C#

Input.mouseScrollDelta

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

public static Vector2 mouseScrollDelta;

描述

当前鼠标滚轮的滚动量。(只读)

注意:此 API 是旧版 Input 类的一部分,不建议在新项目中使用。此处提供文档是为了支持使用旧版 Input Manager 和 Input 类的旧项目。对于新项目,您应该使用更新的 Input System 包。(了解更多)。

Input.mouseScrollDelta 存储在 Vector2.y 属性中。(Vector2.x 值将被忽略。)Input.mouseScrollDelta 可以是正数(向上)或负数(向下)。当鼠标滚轮未旋转时,该值为零。请注意,带有中心滚轮的鼠标在 PC 上很常见。现代 macOS 使用触控板上双指上下移动来模拟中心滚动。需要根据滚动速度调整 mouseScrollDelta 返回的值。在下面的示例中,使用 scale0.1f

请注意,mouseScrollDelta 是只读的。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

// Input.mouseScrollDelta example // // Create a sphere moved by a mouse scrollwheel or two-finger // slide on a Mac trackpad.

public class ExampleClass : MonoBehaviour { private Transform sphere; private float scale;

void Awake() { GameObject go = GameObject.CreatePrimitive(PrimitiveType.Sphere); sphere = go.transform;

// create a yellow quad go = GameObject.CreatePrimitive(PrimitiveType.Quad); go.transform.Rotate(new Vector3(90.0f, 0.0f, 0.0f)); go.transform.localScale = new Vector3(4.0f, 4.0f, 4.0f); go.GetComponent<Renderer>().material.color = new Color(0.75f, 0.75f, 0.0f, 0.5f);

// change the camera color and position Camera.main.clearFlags = CameraClearFlags.SolidColor; Camera.main.transform.position = new Vector3(2, 1, 5); Camera.main.transform.Rotate(0, -160, 0);

scale = 0.1f; }

void OnGUI() { Vector3 pos = sphere.position; pos.y += Input.mouseScrollDelta.y * scale; sphere.position = pos; } }