unity无法将类型float'隐式转换为bool'也可以使相机缩放吗?

时间:2019-03-09 15:55:56

标签: c# unity3d zoom

我使用C#并且是新手。我正在尝试为游戏统一设置缩放功能。这是我的代码(到目前为止):

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

public class Zoom : MonoBehaviour
{
    public Camera cam;
    public float zoom_speed = 20f;

    // Update is called once per frame
    void Update ()
    {
        if(Input.GetAxis("Mouse ScrollWheel"))
        {
            cam.fieldOfView = zoom_speed;
        }
    }
}

但是,当我将鼠标悬停在if(Input.GetAxis("Mouse Scrollwheel"))上时,我收到错误消息“无法将类型 float 隐式转换为 bool 程序工作将不胜感激。

1 个答案:

答案 0 :(得分:1)

对0xBFE1A8的答案进行补充,您甚至不需要使用 if ... else 语句,因为该值的范围是 -1 ... 1 ,只需将Input.GetAxis("Mouse ScrollWheel")值乘以zoom_speed。我还建议您将视野限制在您定义的最小值和最大值之间。

float scroll = Input.GetAxis("Mouse ScrollWheel");
cam.fieldOfView = Mathf.Clamp(cam.fieldOfView + zoom_speed * scroll * Time.deltaTime, minFieldOfView, maxFieldOfView);