Unity
[ Unity ] 버튼 펼침 목록 LeanTween
거두절me
2024. 2. 6. 01:47
원하는 것: 버튼 누르면 위로 촤라락 펼쳐지게 하기.
방법
1. 유니티 AssetStore에서 LeanTween 다운 받고 import하기.
2. 소스짜기.
using UnityEngine;
using UnityEngine.UI;
public class SpreadObj : MonoBehaviour
{
public GameObject mainButton;
public GameObject[] subButtons;
private bool areSubButtonsVisible = false;
public void ToggleSubButtons()
{
areSubButtonsVisible = !areSubButtonsVisible;
if (areSubButtonsVisible)
{
// 서브 버튼을 보이게 하고 슬라이딩 효과로 배치
SetSubButtonsActive(true);
SlideSubButtons(); // 최종 위치 설정
}
else
{
SlideSubButtons(true);
// 서브 버튼을 숨기고 초기 위치로 순서대로 빨려들어가는 효과
}
}
void SetSubButtonsActive(bool isActive)
{
foreach (GameObject subButton in subButtons)
{
subButton.SetActive(isActive);
}
}
void SlideSubButtons(bool isReverse = false)
{
for (int i = 0; i < subButtons.Length; i++)
{
RectTransform rectTransform = subButtons[i].GetComponent<RectTransform>();
float mainBtnPosY = mainButton.GetComponent<RectTransform>().anchoredPosition.y;
if (isReverse)
{
LeanTween.moveLocalY(rectTransform.gameObject, mainBtnPosY, 0.3f)
.setEase(LeanTweenType.easeInBack);
}
else
{
float targetPosition = mainBtnPosY+((i+1)*150);
LeanTween.moveLocalY(rectTransform.gameObject, targetPosition, 0.3f)
.setEase(LeanTweenType.easeOutBack)
.setDelay(0.1f * i);
}
}
}
}
3. mainButton에 트리거 버튼 넣기, subButtons에 펼쳐질 버튼들 넣기.
4. 확인하기