700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > dropdownlist下拉框变透明_Unity3D 4.x利用原生UGUI完成下拉列表DropDownList

dropdownlist下拉框变透明_Unity3D 4.x利用原生UGUI完成下拉列表DropDownList

时间:2023-03-03 07:01:23

相关推荐

dropdownlist下拉框变透明_Unity3D 4.x利用原生UGUI完成下拉列表DropDownList

而且网上还以讹传讹,一堆不知道什么版本的原生UGUI的DrowDownList版本都来了,其实完成这东西非常简单,只是要费点功夫而已。最终效果如下图所示:

具体制作步骤如下,注:由于本人的渣英文,本文截图中的DropDownList被笔误写成了DrowDownList,文章叙述和脚本中的DropDownList才是正确的:

一、场景布置

1、布置一个自适应的画布Canvas。然后,在里面画一个UI->Panel,不是那个3D物体,是UI独有的Panel注意了!这是你以后弄出来的下拉列表DropDownList的大小。通过矩形工具调整大小和位置,并且将颜色设置为全透明。并且将这个Panel直接命名为DropDownList。

2、之后在这个DropDownList中放第一个Button,命名为Button0,调整好大小和位置与旗下Text的文字、字号等,如图所示。

3、之后再于Button0下方拉一个Panel,同样设置为全透明,命名为Candidate,意为候选的意思。如图所示。

4、在Candidate填充按钮,Button1-ButtonN,设置好字体大小等,你甚至还可以直接复制Button0拖到Candidate旗下,其中Button1的文字内容应该与Button0等同。同时调整DropDownList和Panel至适合的大小,调整DropDownList和Panel的时候,可能会导致Button的位置与形变,先将各个旗下Button的移出,移到Canvas,再进行调整就没事了,调好了,再将Button拉回来。最终的效果如图所示。

5、再于DropDownList放个Text或者Image在Button0之下,如同一朵美好的小花,表示这是一个下拉列表DropDownList,如图所示。这里的︾直接可以通过拼音输入法v6打出来。当然真正弄到正式游戏,自然是美工MM弄的好看的UI图片^_^。反正美工MM什么的,我是没有的……

二、脚本编写

至此,整个下拉列表DropDownList的布置完毕,我们还需要写那么一点点的脚本使其真正投入使用。DropDownList.cs如下所示:

using UnityEngine;

using UnityEngine.UI;//要控制Button旗下的文本Text,因此需要这个头文件!

using System.Collections;

public class DropDownList : MonoBehaviour

private GameObject Candidate;

void Start()//上来先将候选项隐藏

Candidate = GameObject.Find("Canvas/DropDownList/Candidate");

Candidate.SetActive(false);

//给予默认按钮Button0的点击事件

public void Button0_OnClick()

Candidate.SetActive(!Candidate.activeSelf);//如果候选项是隐藏的,就弄到显示

//给予其它按钮的点击事件

public void Candidate_OnClick(string button_name)//点击按钮的名称将被传入

//将被默认按钮Button0的文本替换成用户点击的按钮

GameObject.Find("Canvas/DropDownList/Button0/Text").GetComponent().text =

GameObject.Find("Canvas/DropDownList/Candidate/" + button_name + "/Text").GetComponent().text;

Candidate.SetActive(false);//隐藏候选项

这段脚本直接送给DropDownList,而各个候选按钮Button1~ButtonN参数设置为自己的名字,赋予点击事件,Button0的点击如上所示,赋予Button0_OnClick()事件。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。