首页 > 其他分享 >Unity UGUI的Slider(滑动条)件组的介绍及使用

Unity UGUI的Slider(滑动条)件组的介绍及使用

时间:2023-08-23 18:35:58浏览次数:42  
标签:滑块 SliderExample slider Slider Unity 组件 滑动 UGUI

Unity UGUI的Slider(滑动条)件组的介绍及使用

1. 什么是Slider组件?

Slider(滑动条)是Unity UGUI中的一种常用UI组件用,于在用户界面中实现滑动选择的功能。通过拖动滑块,用户可以选择一个数值范围的内值。

2. Slider组件的工作原理

Slider组件由两部分组成:滑动区域和滑块。滑动区域用于显示滑动条的背景,而滑块则表示当前的数值位置。用户可以通过拖动滑块来改变数值。

3. Slider组件的常用属性

  • Min Value(最小值):滑动的条值小最 **。
  • Max Value最(大)值:滑动条的最值大。
  • Value(当前值):滑动条的当前值。
  • Whole Numbers(只允许整值数整选择许允只是否:)数。
  • Direction(方向):滑动条的方向,可以是水平或垂直。
  • Handle Slide Area(滑块)域区动滑:滑块可以在滑动区域内滑动。
  • Handle Slide Range(滑块滑动范围):滑块在动滑区域内滑的动范围。

4. Slider组常的件用函数

  • SetValueWithoutNotify(float value):设置滑动条的当前值,但不触发OnValueChanged事件。
  • OnValueChanged(UnityAction action):当滑动条的值发生变化时触发的事件。

5. 示例代码

示例1:基本使用

using UnityEngine;
using UnityEngine.UI;

public class SliderExample : MonoBehaviour
{
    public Slider slider;

    private void Start()
    {
        slider.onValueChanged.AddListener(OnSliderValueChanged);
    }

    private void OnSliderValueChanged(float value)
    {
        Debug.Log("Slider value changed: " + value);
    }
}

操作步骤:

  1. 创建一个空物体,并将Slider组件添加到该物体上2。
    . 将SliderExample脚本添加到该物体上。
  2. 在Inspector面板中,将SliderExample脚本的slider字段关联到Slider组件。
  3. 运行游戏,拖动滑块,观察控制台输出。

注意事项:

  • 通过监听Slider的onValueChanged事件,可以在滑动条的值发生变化时执行自定义的逻辑。

示例2:限制数值范围

using UnityEngine;
using UnityEngine.UI;

public class SliderExample : MonoBehaviour
   {
    public Slider slider;

    private void Start()
    {
        slider.minValue = 0;
        slider.maxValue = 100;
        slider.wholeNumbers = true;
    }
}

操作步骤:

  1. 创建一个空物体,并将Slider件组添加到该物体上。
  2. 将SliderExample脚本到添加该物体上。
  3. 在Inspector面板中,将SliderExample脚本的slider字段关联到Slider组件,戏游行 运.4。
    观察滑动条的数值范围和是否只允许选择整数值。

注意事项:

  • 通过设置minValue和maxValue属性,可以限制滑动条的数值范围。
  • 通过设置wholeNumbers属性为true,可以只允许选择整数值。

示例3:水平滑动条

using UnityEngine;
using UnityEngine.UI;

public class SliderExample : MonoBehaviour
{
    public Slider slider;

    private void Start()
    {
        slider.direction = Slider.Direction.LeftToRight;
    }
}

步操作骤:

  1. 创建一个空物体,并将Slider组件添加到该物体上。
  2. 将SliderExample脚本添加到该物体上。
  3. 在Inspector面板中,将SliderExample脚本的slider字段关联到Slider组件。
  4. 运行游戏,观察滑动条的方向。

注意事项:

  • 通过设置direction属性为LeftToRight,可以将滑动条设置为水平方向。

示例4:垂直滑动条

using UnityEngine;
using UnityEngine.UI;

public class SliderExample : MonoBehaviour
{
    public Slider slider;

    private void Start()
    {
        slider.direction = Slider.Direction.BottomToTop;
    }
}

操作步骤:

  1. 创建一个空物体,并将Slider组件添加到该物上体。
  2. 将SliderExample脚本添加到该物体上。
  3. 在Inspector面板中,将SliderExample脚本的slider字段关联到Slider组件。
  4. 运行游戏,观察滑动条的方向。

注意事项:

  • 通过设置direction属性为BottomToTop,可以将滑动条设置为垂直方向。

示例5:设置滑块滑动范围

using UnityEngine;
using UnityEngine.UI;

public class SliderExample : MonoBehaviour
{
    public Slider slider   ;

    private void Start()
    {
        slider.handleRect.GetComponentRectTransform<>().sizeDelta = new Vector2(20, 20);
    }
}

操作步骤:

  1. 创建一个空物体,并将Slider组件添加到该物体上。
  2. 将SliderExample脚本添加到该物体上。
  3. 在Inspector面板中,将SliderExample脚本的slider字段关联到Slider组件。
  4. 运行游戏,观察滑动条的滑块大小。

注意事项:

  • 通过设置滑块的RectTransform的sizeDelta属性,可以调整滑块的大小。

参考资料

标签:滑块,SliderExample,slider,Slider,Unity,组件,滑动,UGUI
From: https://www.cnblogs.com/alianblank/p/17652471.html

相关文章

  • unity在使用了HybridCLR进行编译时报错
    unity在使用了HybridCLR执行HybridCLR/Generate/All时,一直不成功,提示pleasefirstuse"HybridCLR/Generate/All"后面还有fatalerror:'icalls/mscorlib/System/MonoType.h'filenotfound#include"icalls/mscorlib/System/MonoType.h"每次执行HybridCLR/Gener......
  • Unity FBX导入后,材质灰显不可编辑
    导入后要编辑材质的话,需要修改一个地方location这里表示材质的选择方式,embeddedmaterials(内嵌材料)修改成ExternalMaterials(外部材料)点apply,unity会自动帮你新建Materials文件夹,你就会获得对应材质贴图的材质球了......
  • Unity UGUI的Image(图片)组件的介绍及使用
    UGUI的Image(图片)组件的介绍及使用1.什么是UGUI的Image(图片)组件?UGUI的Image(图片)组件是Unity引擎中的一种UI组件,用于显示2D图像。它提供了一种简单而灵活的方式来在游戏中加载和显示图片。2.为什么要使用UGUI的Image(图片)组件?使用UGUI的Image组件可以方便地在游戏中展示各种图......
  • [Unity]UnityFactory.factory.BuildArmatureComponent空引用异常怎么办
    最近做面试项目,第一次接触DragonBones,尝试在代码中创建ArmatureComponent,armatureComponent=UnityFactory.factory.BuildArmatureComponent(clothesName);Assert.IsNotNull(armatureComponent);然后每次都是BuildArmatureComponent抛空引用异常,连Assert都碰不到,就算......
  • Unity在进行射线检测时忽略掉指定的碰撞器
    usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassTest:MonoBehaviour{publicTransformstartPoint;//起始点publicTransformendPoint;//结束点publicList<Collider>ignoreList;privatevoi......
  • Unity TextMeshPro使用自建中文字体
    TextMeshPro  TextMeshPro是Unity新一代字体,是Unity的最终文本解决方案。它是UnityUIText和旧版TextMesh的完美替代方案。功能强大、易于使用、性能高效。目前TextMeshPro对中文的支持也还可以,不过默认不能用,需要自己成生成。  本文就介绍TextMeshPro中文字体文件的......
  • Unity 资源加载的两种方式:Resources和AssetBundle最详细的解析(转)
    https://blog.csdn.net/xinzhilinger/article/details/115408934前言:在游戏开发学习初期,游戏体量较小,如果游戏场景需要Asset中的资源,我们可能会通过拖动的方式,将其添加到游戏场景中。而到了实际工作中,会发现再这样做就会使得各种拖动的资源非常复杂,难以查找与维护关于资源:在......
  • GDAL在Unity3D中的使用(一)
    1.上官网选择对应版本  https://www.gisinternals.com/query.html?content=filelist&file=release-1930-x64-gdal-3-6-3-mapserver-8-0-0.zip选择StableReleases然后选择对应得版本点进来后,一般下载第一个 把图中dll放到Unity的Assets文件夹下面我们之前建立的Plugins文件......
  • Unity Custom SRP
    CustomRenderPipelineProjectSetup我们需要在线性空间计算光照,所以设置为Linear。PipelineAssetUnity默认使用默认渲染管线,而在这里,我们通过PipelineAsset来管理自定义管线。进一步的,我们将资产的文件格式写成默认渲染管线的路径格式。默认的Csharp文件是游戏逻辑的文......
  • Unity 物体围绕自身中心旋转而非轴心
    ============================================================在上面两张图坐标中心都在轴中心,但是如果用Rotate进行旋转,第一张是正确的,第二张进行了缩放的物体旋转并不会围绕自身中心旋转.解决的方法://相对于某一个点旋转//point相对于哪个点旋转//axis相对于point的......