【问题标题】:Custom slider in Unity InspectorUnity Inspector 中的自定义滑块
【发布时间】:2016-12-10 10:34:41
【问题描述】:

这是一个滑块的例子:

public class MyClass : MonoBehaviour
{
[Range(0.0f, 10.0f)]
public float mySliderFloat;
..
}

但我希望滑块的 Min-Max 值取决于屏幕分辨率(在每一帧中动态设置这些 Min-Max 值)你能举个例子吗?

【问题讨论】:

  • 顺便说一句,在 99% 的情况下,您希望使用 [SerializeField] private 而不是 public

标签: user-interface unity3d 3d editor


【解决方案1】:

属性参数仅限于 以下类型:

简单类型(bool、byte、char、short、int、long、float 和 double)

string System.Type 枚举对象(属性的参数 object 类型的参数必须是上述之一的常量值 类型。)

上述任何类型的一维数组(强调 由我添加)

所以从技术上讲,你不能这样做。如果要在运行时设置变量的最小值和最大值,则需要使用Mathf.Clamp(value,min,max)。从统一文档中阅读this。这样,您可以动态设置最小值和最大值,并在 Update() 方法中更改它们之间的所需值。

【讨论】:

    【解决方案2】:

    这是可能的,但与默认范围属性不一样。您需要使用您要使用的变量值编写一个 custom inspector 和您自己的 slider

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-17
      • 2023-04-05
      • 2021-11-04
      • 2019-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多