Unity UGUI 按钮自动吸附在屏幕边缘,并成半圆分布

在有些屏幕空间比较局促的游戏中,可能会采用可活动的按钮,根据点击的位置灵活摆放按钮,为了不遮挡其他物体和UI,自动吸附在屏幕边缘。我们的游戏还提了一个多按钮呈半圆分布的需求。具体的代码如下:

using DG.Tweening;
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using UnityEngine.SceneManagement;

namespace ArrowLegend
{
    /// <summary>
    /// 按钮自动吸附和呈半圆分布
    /// </summary>
    public class AutoAdsorptiontoEdge : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
    {
        private RectTransform rectTransform;
        public Button[] PropButtons;
        public Button ShopBtn;

        private float radius = 0.5f;//半径

        private float LeftAdsorptiontoX;//吸附到的位置,根据屏幕判断
        private float RightAdsorptiontoX;

        private float UpAdsorptiontoY;//上下位置判断,防止出现按钮到屏幕外的情况
        private float DownAdsorptionY;

        void Start()
        {
            rectTransform = GetComponent<RectTransform>()
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值