我使用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 程序工作将不胜感激。
答案 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);