Unity-UGUI制作的小地图-可放大缩小视角,大地图小地图切换

45 篇文章 10 订阅
43 篇文章 1 订阅

Unity-UGUI制作的小地图-可放大缩小视角,大地图小地图切换

1.效果图 文章最后也会附上 Demo下载地址 备注:资源是URP的,普通平台修改资源材质即可

  • 缩小状态
    在这里插入图片描述

  • 放大状态
    在这里插入图片描述

2.实现思路

首先新建一个相机来显示小地图,需要新建一个层级小地图来渲染,主相机不渲染,
新建一个rendertexture把相机画面输出到上面,新建Canvas->Rawimage,把rendertexture附上即可。

3.代码

      // 这是相机视角缩放
       btn_ZoomIn.onClick.AddListener(() =>
        {
            TargetSize -= 4f;
            TargetSize = Mathf.Clamp(TargetSize, MinZoom, MaxZoom);
            isZoom = true;
        });
        btn_ZoomOut.onClick.AddListener(() =>
        {
            TargetSize += 4f;
            TargetSize = Mathf.Clamp(TargetSize, MinZoom, MaxZoom);
            isZoom = true;
        });

      //这是切换大小地图
       btn_Scale.onClick.AddListener(delegate
        {
            RectTransform rect = Tran_MiniMap.GetComponent<RectTransform>();
            if (rect.rect.width == 436f)  //小的时候
            {
                TargetSize = 10f;
                rect.sizeDelta = new Vector2(436f * 3f, 436 * 3f);
                rect.anchoredPosition = new Vector2((Screen.width / 2f), -(Screen.height / 2f));

            }
            else
            {
                TargetSize = 5f;
                rect.sizeDelta = new Vector2(436f, 436f);
                rect.anchoredPosition = new Vector2(260f, -240f);
            }
            isZoom = true;
        });
    //这是移动渐变效果
      if (isZoom)
        {
            float target = MiniMapPersonCam.orthographicSize;
            target = Mathf.Lerp(target, TargetSize, 0.1f);
            target = Mathf.Clamp(target, MinZoom, MaxZoom);

            MiniMapPersonCam.orthographicSize = target;
            float c = Math.Abs(MiniMapPersonCam.orthographicSize - TargetSize);
            if (c <= 0.001f)
                isZoom = false;

        }

4.项目源码

文章最后也会附上 Demo下载地址 备注:资源是URP的,普通平台修改资源材质即可

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unity-UGUIUnity游戏引擎中的一个UI系统,可以用来创建和管理用户界面。它提供了丰富的功能和工具,使得开发者能够轻松地制作各种表格。 使用Unity-UGUI制作表格的步骤如下: 1. 创建Canvas对象:在Unity中,首先需要创建一个Canvas对象,作为UI渲染的容器。选择GameObject -> UI -> Canvas,即可创建一个Canvas对象。 2. 添加Table组件:选择Canvas对象,在Inspector面板中点击"Add Component"按钮,然后在搜索栏中输入"Table",选择适合的Table组件,点击添加。 3. 设置表格的行列数:在Table组件的Inspector面板中,设置表格所需的行数和列数。 4. 设置表格样式:可以在Inspector面板中设置表格的颜色、大小等属性,以满足具体需求。 5. 添加表格内容:可以通过代码或者拖拽方式,向表格中添加所需的文本或图片。可以通过操作表格的行列索引,将内容放置在特定的位置。 6. 设置表格的交互性:可以为表格中的每个单元格添加点击事件或其他交互效果,提升用户体验。 7. 调整表格布局:可以通过调整Canvas的大小、位置,或者改变组件之间的层次关系,来调整表格的布局。 8. 完善表格功能:可以根据具体需求,添加更多表格的功能,比如排序、过滤、搜索等。 9. 测试和优化:在表格制作完成后,可以进行测试,查看表格的显示效果和交互效果,并进行优化。 总之,使用Unity-UGUI制作表格,只需简单的操作和设置,就能够创建出各种样式、功能丰富的表格,满足游戏或应用程序的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

unity_YTWJJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值