微网站网站模板建站,自己做qq头像网站,发布网站的流程,国外直播平台tiktokunity布局管理器
使用unity布局管理器轻松对关卡选择进行布局。
实现过程
准备普通按钮button设置字体和对应的sprite设置父gameobject#xff08;levelbase#xff09; 再创建UI.image#xff08;selectbackground#xff09;布局背景和大小gameobject#xff08;grid…unity布局管理器
使用unity布局管理器轻松对关卡选择进行布局。
实现过程
准备普通按钮button设置字体和对应的sprite设置父gameobjectlevelbase 再创建UI.imageselectbackground布局背景和大小gameobjectgridcontent添加 grid layout group布局组件和content size fitter组件控制布局内按钮拉伸将准备的按钮置于gameobject的子类 给布局背景添加rectmask2D属性可以遮盖多余的 给父类levelbase添加scroll rect组件并将gridcontent放入其content属性下将levelbackground设置在viewport属性下 levelbase设置脚本 用于读取关卡信息设置按钮的是否可以交互状态
using System.Collections;
using System.Collections.Generic;
using TMPro;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.UI;public class ButtonIcons : MonoBehaviour
{[SerializeField] private Button[] lvlButton;[SerializeField] private Sprite unlockedIcon;[SerializeField] private Sprite lockedIcon;[SerializeField] private int firstLevelBuildIndex;// Start is called before the first frame updateprivate void Awake(){int unlockedLvL PlayerPrefs.GetInt(EndGameManager.endManager.lvlUnlock, firstLevelBuildIndex);for(int i0;ilvlButton.Length; i){if (i firstLevelBuildIndex unlockedLvL){lvlButton[i].interactable true;lvlButton[i].image.sprite unlockedIcon;TextMeshProUGUI textButton lvlButton[i].GetComponentInChildrenTextMeshProUGUI();textButton.text (i 1).ToString();textButton.enabled true;}else{lvlButton[i].interactable false;lvlButton[i].transition 0;lvlButton[i].transform.Find(Image).gameObject.SetActive(true);lvlButton[i].GetComponentInChildrenTextMeshProUGUI().enabled false;}}}
}