精华内容
参与话题
问答
  • unity之DropDown组件下拉菜单的制作

    千次阅读 2018-09-22 21:08:18
    DropDown组件是unity自带的一个方便制作下拉菜单的组件,    以上便是组件界面, Caption Text和Caption Image是作为下拉列表首选项的文字和图片显示,也是我们每次选择后的内容,因此可代码调用获取...

    DropDown组件是unity自带的一个方便制作下拉菜单的组件,

     

     以上便是组件界面,

    Caption Text和Caption Image是作为下拉列表首选项的文字和图片显示,也是我们每次选择后的内容,因此可代码调用获取

    Item Text作为下拉列表中每个item的文字显示,Item Image可以用来扩展模板增加内容

    Options选项栏内:通过代码可赋值给相应的Item对象  Dropdown.OptionData

    接下来是有关的代码,

     Dropdown _dropDown;
     List<string> options = new List<string>();//集合保存选项
    
    private void Try()
    {
     _dropDown = GetComponent<Dropdown>();
     _dropDown.ClearOptions(); ; //清除原有选项
      Dropdown.OptionData temoData=new Dropdown.OptionData(); 
    _dropDown.options.Add(temoData); 
    
    
    
      _dropDown.onValueChanged.AddListener(delegate (int i)//监听选中的文本
                {
                    Debug.Log(i);
                });
    }

     嗯,写文章的能力不是很强,只是想把学到的分享出来,可能语言归纳不好,请多多包涵。

    展开全文
  • Unity 多级下拉菜单

    2018-11-12 11:31:00
    Unity自带的Dropdown只能出现一级下拉菜单 在尝试修改之后 无法实现 索性自己写了一个 效果如下 组件结构 主按钮 MainButton 点击之后出现菜单 菜单 dropdownpanel 放置多个按钮Item 菜单列表 dropdown...

     Unity自带的Dropdown只能出现一级下拉菜单 在尝试修改之后 无法实现 索性自己写了一个

    效果如下

    组件结构

     

    主按钮 MainButton 点击之后出现菜单

    菜单 dropdownpanel 放置多个按钮Item

    菜单列表 dropdown列表 放置多个菜单

    按钮Item dropdownItem模板 每个菜单按钮的模板

    获取dropdownItem模板大小 本想自动适配大小 后来没有用

    背景按钮隐藏 一个巨大的下层Mask 用于点击外部关闭整个菜单

    代码

    界面部分

      1 public class MoreDropdown : MonoBehaviour
      2     {
      3         [Header("主按钮")]
      4         public Button mainButton;
      5         [Header("dropdownPanel模板")]
      6         public Image dropdownPanel;
      7         [Header("dropdown列表")]
      8         public Image dropdownGrid;
      9         [Header("dropdownItem模板")]
     10         public Button dropdownItem;
     11         [Header("获取dropdownItem模板大小")]
     12         public RectTransform dropdownItemRT;
     13         [Header("背景按钮隐藏")]
     14         public Button hideBG;
     15         //下拉菜单集
     16         private List<Image> dropdownPanels = new List<Image>();
     17         //菜单数据
     18         private static List<IMoreDropdownInfo> allInfo;
     19         //记录点击位置顺序
     20         private int[] clickOrder = new int[10];
     21         private int orderIndex = 0;
     22         //是否显示
     23         private bool isShowFirstPanel = true;
     24         //选中按钮
     25         private List<Button> pointerButtonList = new List<Button>();
     26         //当前选中按钮数据
     27         private Button enterButton;
     28         private int enterButtonLevel;
     29         private IMoreDropdownInfo enterButtonInfo;
     30         //按钮选中颜色状态
     31         private enum ButtonColorState
     32         {
     33             Normal,
     34             Enter,
     35             Exit,
     36             Click,
     37         }
     38         //多下拉菜单辅助Action
     39         public Action onCreateDropdown;
     40 
     41         void Awake()
     42         {
     43             //下拉菜单
     44             mainButton.onClick.AddListener(delegate ()
     45             {
     46                 if (isShowFirstPanel)
     47                 {
     48                     isShowFirstPanel = false;
     49                     hideBG.gameObject.SetActive(true);
     50                     //置于顶部
     51                     transform.SetAsLastSibling();
     52                     //开始创建列表
     53                     onCreateDropdown?.Invoke();
     54                     CreateDropdown(0, allInfo);
     55                 }
     56                 else
     57                 {
     58                     HideFirstPanel();
     59                 }
     60             });
     61 
     62             //背景全部隐藏
     63             hideBG.onClick.AddListener(delegate ()
     64             {
     65                 HideFirstPanel();
     66             });
     67         }
     68 
     69         /// <summary>
     70         /// 创建下拉菜单
     71         /// </summary>
     72         /// <param name="level">第几级菜单</param>
     73         private void CreateDropdown(int level, List<IMoreDropdownInfo> infoList)
     74         {
     75             Image dropdown = Instantiate(dropdownPanel);
     76             dropdownPanels.Add(dropdown);
     77             dropdown.transform.parent = dropdownGrid.transform;
     78             dropdown.transform.localScale = new Vector3(1f, 1f, 1f);
     79             dropdown.gameObject.SetActive(true);
     80 
     81             dropdownGrid.gameObject.SetActive(true);
     82 
     83             for (int k = 0; k < infoList.Count; k++)
     84             {
     85                 //二级及以上的第一位不显示(填充到了前一级的位置)
     86                 if ((level > 0) && (k == 0))
     87                     continue;
     88 
     89                 IMoreDropdownInfo info = infoList[k];
     90                 Button cloneButton = Instantiate(dropdownItem);
     91                 cloneButton.transform.parent = dropdown.transform;
     92                 cloneButton.transform.localScale = new Vector3(1f, 1f, 1f);
     93                 Image dropdownButton = cloneButton.GetComponent<Image>();
     94                 Text dropdownText = cloneButton.transform.Find("dropdownText").GetComponent<Text>();
     95                 Image dropdownArrow = cloneButton.transform.Find("dropdownArrow").GetComponent<Image>();
     96 
     97                 //创建时 选中按钮默认记录第一个
     98                 if (k == 1)
     99                     pointerButtonList.Add(cloneButton);
    100                 //判断是否有下一级
    101                 if (info.str != null)
    102                 {
    103                     dropdownArrow.gameObject.SetActive(false);
    104                     dropdownText.text = info.str;
    105                 }
    106                 else
    107                 {
    108                     dropdownArrow.gameObject.SetActive(true);
    109                     dropdownText.text = info.list[0].str;
    110                 }
    111 
    112                 //处理选中状态
    113                 cloneButton.gameObject.SetActive(true);
    114                 MCsUIListener listener = MCsUIListener.Get(cloneButton.gameObject);
    115                 listener.onEnter = (go, eventData) =>
    116                 {
    117                     SetButtonState(cloneButton, ButtonColorState.Enter);
    118                     enterButton = cloneButton;
    119                     enterButtonLevel = level;
    120                     enterButtonInfo = info;
    121                 };
    122           //这是项目封装的代码 可以继承IPointerClickHandler接口 123 listener.onExit = (go, eventData) => 124 { 125 SetButtonState(cloneButton, ButtonColorState.Exit); 126 enterButton = null; 127 enterButtonLevel = -1; 128 enterButtonInfo = null; 129 }; 130 131 listener.onUp = (go, eventData) => 132 { 133 if (enterButton != null) 134 OnSelectDropdownItem(); 135 }; 136 } 137 } 138 139 /// <summary> 140 /// 移除第几级及后的菜单 141 /// </summary> 142 /// <param name="level"></param> 143 private void RemovePanelItems(int level) 144 { 145 //判断是否不是第一级 146 if (level < dropdownPanels.Count) 147 { 148 //点击级之后的全部清除 149 for (int k = dropdownPanels.Count - 1; k >= level; k--) 150 { 151 for (int kk = dropdownPanels[k].transform.childCount - 1; kk >= 0; kk--) 152 { 153 Destroy(dropdownPanels[k].transform.GetChild(kk).gameObject); 154 } 155 //清除背景 156 Destroy(dropdownPanels[k].gameObject); 157 dropdownPanels.RemoveAt(k); 158 //保护防止越界 159 orderIndex = orderIndex >= 0 ? orderIndex : 0; 160 //清除位置 161 clickOrder[orderIndex] = 0; 162 orderIndex--; 163 //清除记录按钮 164 pointerButtonList.RemoveAt(k); 165 } 166 } 167 } 168 169 //设置按钮颜色状态 170 private void SetButtonState(Button button, ButtonColorState state) 171 { 172 Text buttonText = button.transform.Find("dropdownText").GetComponent<Text>(); 173 Image buttonArrow = button.transform.Find("dropdownArrow").GetComponent<Image>(); 174 if (state == ButtonColorState.Normal) 175 { 176 buttonText.color = new Color((111f / 256f), (111f / 256f), (111f / 256f), 1f); 177 buttonArrow.color = new Color((111f / 256f), (111f / 256f), (111f / 256f), 1f); 178 } 179 else if (state == ButtonColorState.Enter) 180 { 181 Color oldColor = buttonText.color; 182 buttonText.color = new Color(oldColor.r, oldColor.g, oldColor.b, (120f / 256f)); 183 buttonArrow.color = new Color(oldColor.r, oldColor.g, oldColor.b, (120f / 256f)); 184 } 185 else if (state == ButtonColorState.Exit) 186 { 187 Color oldColor = buttonText.color; 188 buttonText.color = new Color(oldColor.r, oldColor.g, oldColor.b, 1f); 189 buttonArrow.color = new Color(oldColor.r, oldColor.g, oldColor.b, 1f); 190 } 191 else if (state == ButtonColorState.Click) 192 { 193 buttonText.color = new Color((84f / 256f), (145f / 256f), (220f / 256f), 1f); 194 buttonArrow.color = new Color((84f / 256f), (145f / 256f), (220f / 256f), 1f); 195 } 196 } 197 198 //执行最终选中按钮数据处理 199 private void OnSelectDropdownItem() 200 { 201 //记录点击位置 202 clickOrder[enterButtonLevel] = enterButtonInfo.index; 203 orderIndex = enterButtonLevel + 1; 204 if (enterButtonInfo.str != null) 205 { 206 ChangeMainText(enterButtonInfo.str); 207 } 208 else 209 { 210 List<IMoreDropdownInfo> nextList = enterButtonInfo.list; 211 nextList = enterButtonInfo.list; 212 RemovePanelItems(enterButtonLevel + 1); 213 CreateDropdown(enterButtonLevel + 1, nextList); 214 //处理选中按钮状态 215 if (pointerButtonList.Count >= enterButtonLevel) 216 SetButtonState(pointerButtonList[enterButtonLevel], ButtonColorState.Normal); 217 pointerButtonList[enterButtonLevel] = enterButton; 218 SetButtonState(enterButton, ButtonColorState.Click); 219 } 220 } 221 222 //隐藏 223 private void HideFirstPanel() 224 { 225 isShowFirstPanel = true; 226 hideBG.gameObject.SetActive(false); 227 RemovePanelItems(0); 228 orderIndex = 0; 229 } 230 231 //显示 232 private void ShowFirstPanel() 233 { 234 isShowFirstPanel = true; 235 dropdownGrid.gameObject.SetActive(true); 236 } 237 238 //选好收回的Action回调 239 public Action<String, String> onClickItem; 240 //设置主按钮的文字 241 private void ChangeMainText(String str) 242 { 243 Text firstText = mainButton.transform.Find("mainText").GetComponent<Text>(); 244 firstText.text = str; 245 //生成返回字符串 246 string orderStr = ""; 247 for (int i=0; i<orderIndex; i++) 248 { 249 if (i == 0) 250 { 251 orderStr += (clickOrder[i]+1); 252 } 253 else 254 { 255 orderStr += "|" + clickOrder[i]; 256 } 257 } 258 //隐藏所有并清空所有临时数据 259 HideFirstPanel(); 260 //回调 261 onClickItem?.Invoke(str, orderStr); 262 } 263 264 //传入值 265 public static void SetAllInfo(List<IMoreDropdownInfo> _allInfo) 266 { 267 allInfo = _allInfo; 268 } 269 }

     按钮数据类

    //按钮数据
        public class IMoreDropdownInfo
        {
            //记录位置
            public int index;
            //字符串或list
            public string str;
            public List<IMoreDropdownInfo> list;
    
            public IMoreDropdownInfo(String _str) { str = _str; }
            public IMoreDropdownInfo(List<IMoreDropdownInfo> _list) { list = _list; }
        }

    按钮数据生成类

    //按钮数据处理逻辑
        public class MoreDropdownItem
        {
            //创建一个独立按钮
            public static IMoreDropdownInfo CreateInfo(String str)
            {
                return new IMoreDropdownInfo(str);
            }
    
            //创建一个菜单
            public static List<IMoreDropdownInfo> CreateList()
            {
                List<IMoreDropdownInfo> _list = new List<IMoreDropdownInfo>();
                return _list;
            }
    
            //独立按钮添加到菜单中
            public static List<IMoreDropdownInfo> AddInfo(List<IMoreDropdownInfo> _list, IMoreDropdownInfo _info)
            {
                _info.index = _list.Count;
                _list.Add(_info);
                return _list;
            }
    
            //子级菜单添加到菜单中
            public static List<IMoreDropdownInfo> AddInfo(List<IMoreDropdownInfo> _list, List<IMoreDropdownInfo> _info)
            {
                IMoreDropdownInfo info = new IMoreDropdownInfo(_info);
                info.index = _list.Count;
                _list.Add(info);
                return _list;
            }
    
        }

    Lua层数据处理

    显示数据

    local textTable = {
        "全部",
        {
            "这是1",
            "这是2",
            "这是3",
            "这是4",
        },
        {
            "这是另一个1",
            "这是另一个2",
            "这是另一个3",
            "这是另一个4",
        },
    }

    生成菜单数据

    function CreateDropdownStrTable(data)
        local itemList = MoreDropdownItem.CreateList()
        for i, v in ipairs(data) do
            if type(v) == "table" then
                local list = CreateDropdownStrTable(v)
                itemList = MoreDropdownItem.AddInfo(itemList, list)
            elseif type(v) == "string" then
                local info = MoreDropdownItem.CreateInfo(v)
                itemList = MoreDropdownItem.AddInfo(itemList, info)
            end
        end
    
        return itemList
    end

    实际使用

    moreDropdown.onCreateDropdown = function()
        local strData = CreateDropdownStrTable(strTable)
        moreDropdown.SetAllInfo(strData)
    end
    moreDropdown.onClickItem = function(str, orderStr)
        --TODO
    end

     

    prefab

    https://pan.baidu.com/s/1Ydt6goicLsN4jyPYwL7KUg

     

    转载于:https://www.cnblogs.com/PandaQ/p/9945520.html

    展开全文
  • Unity3D UGUI下拉菜单/Dropdown组件用法、总结 Unity3D中UGUI实现下拉菜单 Chinar-本文提供全流程,中文翻译。 助力快速使用 UGUI 实现 下拉菜单 UGUI 最初是没有下拉菜单的组件的 动态添加监听事件 后来更新...

    Chinar blog www.chinar.xin

    Unity UGUI 完整系列教程 (Chinar中文图解)

    Unity3D中UGUI实现下拉菜单


    本文提供全流程,中文翻译

    Chinar 的初衷是将一种简单的生活方式带给世人

    使有限时间 具备无限可能

    Chinar —— 心分享、心创新!

    助力快速使用 UGUI 实现 下拉菜单

    为初学者节省宝贵的时间,避免采坑!

    Chinar 教程效果:
    这里写图片描述



    全文高清图片,点击即可放大观看 (很多人竟然不知道)


    1

    Intro —— 创建布局


    Unity3D 重写Dropdown 组件、开启每次点选可用 (特殊需求 )

    UGUI 最初是没有下拉菜单的组件的

    后来更新加入后,用起来方便,可快速创建大量选择项,无需开发者自己写脚本实现

    1. 创建下拉菜单模板

    右键层次列表→ UI Dropdown

    即可完成一个下拉菜单的创建
    举个例子
    这里写图片描述


    2. 设置属性

    Unity 会自动帮我们创建一个下拉菜单的模板、并且添加好 Dropdown 组件,创建好我们需要的一切基本设置

    我们需要做的就是,设置我们需要的属性、以及功能即可

    将我们的脚本、需要的选择项、UI选项设置好就可以用了
    举个例子
    这里写图片描述


    2

    ChinarDemo Script —— Chinar演示脚本


    这里提供一个便于理解的演示脚本,仅用于测试

    贴心的 Chinar 为初学者提供了 动态添加监听事件的方法

    如果 动态添加监听事件,外部就无需再做手动绑定添加了,否则会重复哦!


    GameObject.Find("Dropdown").GetComponent<Dropdown>().onValueChanged.AddListener(ConsoleResult);

    举个例子

    using UnityEngine;
    using UnityEngine.UI;
    
    
    /// <summary>
    /// Chinar例子脚本,用以输出
    /// </summary>
    public class ChinarDemo : MonoBehaviour
    {
        void Start()
        {
            //贴心的 Chinar 为新手提供了 代码动态绑定的方法,如果通过代码添加监听事件,外部就无需再做添加
            //GameObject.Find("Dropdown").GetComponent<Dropdown>().onValueChanged.AddListener(ConsoleResult);
        }
    
    
        /// <summary>
        /// 输出结果 —— 添加监听事件时要注意,需要绑定动态方法
        /// </summary>
        public void ConsoleResult(int value)
        {
            //这里用 if else if也可,看自己喜欢
            //分别对应:第一项、第二项....以此类推
            switch (value)
            {
                case 0:
                    print("第1页");
                    break;
                case 1:
                    print("第2页");
                    break;
                case 2:
                    print("第3页");
                    break;
                case 3:
                    print("第4页");
                    break;
                //如果只设置的了4项,而代码中有第五个,是永远调用不到的
                //需要对应在 Dropdown组件中的 Options属性 中增加选择项即可
                case 4:
                    print("第5页");
                    break;
            }
        }
    }
    

    3

    Attentions —— 注意事项


    注意事项:
    1. 手动添加监听事件,需绑定动态方法(Unity会自动生成)
    2. 设置自己需要的默认项,默认为 0 ,当下拉菜单弹起时,默认就是第一项
    3. 下拉菜单的机制,就是已经被选中的选项,如果再次点击是不会调用函数方法的!!!
    (也就是说,你已经选择了第一页,再次点击第一页,是不会调用任何函数的)`

    举个例子
    这里写图片描述


    4

    Test Result —— 最终测试结果


    点击运行测试

    请认真看输出结果:某一页为选中状态时,再次点击是不会调用任何函数的
    举个例子
    这里写图片描述


    5

    Extension —— 扩展 Dropdown

    扩展 Dropdown 组件,开启被选择按钮,再次被点击仍然可执行回调函数

    举个例子


    Unity3D 重写下拉菜单/Dropdown组件、开启每个按钮点选可用

    Unity UGUI 完整系列教程 (Chinar中文图解)


    支持

    May Be —— 开发者,总有一天要做的事!


    拥有自己的服务器,无需再找攻略

    Chinar 提供一站式《零》基础教程

    使有限时间 具备无限可能!

    先点击领取 —— 阿里全产品优惠券 (享受最低优惠)


    Chinar 免费服务器、建站教程全攻略!( Chinar Blog )


    Chinar

    END

    本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

    对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com

    对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

    展开全文
  • unity3d UGUI下拉框

    万次阅读 2016-01-21 14:51:59
    可以用来让用户从列表中选择一个选项的选择。 控制显示当前选择的选项。... 在选择一个新的选项,再次关闭的...打开下拉列表的选项。 属性 属性: 功能: Interactable 该组件将会接受输入吗? 看到In
    可以用来让用户从列表中选择一个选项的选择。
    

    控制显示当前选择的选项。 一旦点击,它打开了选项列表中,可以选择一个新的选项。 在选择一个新的选项,再次关闭的列表,控制显示了新的选择选项。 列表也关闭,如果用户点击控制本身,或其他地方在画布上。

    A Dropdown.一个下拉。A Dropdown with its list of options open.打开下拉列表的选项。

    属性

    属性: 功能:
    Interactable 该组件将会接受输入吗? 看到Interactable
    过渡 属性,确定控制视觉响应用户操作的方式。 看到过渡的选择
    导航 属性确定的顺序控制。 看到导航选项
    模板 的矩形变换下拉列表的模板。 请参阅下面的说明。
    标题文本 文本组件把当前选中的文本选项。 (可选)
    标题图片 图像组件当前选中的选项的形象。 (可选)
    项文本 文本组件条目的文本。 (可选)
    项目形象 图像组件项目的形象。 (可选)
    价值 当前选中的索引选项。 0是第一选择,1是第二步,等等。
    选项 可能的选项的列表。 一个文本字符串,并为每个选项可以指定一个图像。

    事件

    属性: 功能:
    价值变化 一个UnityEvent当调用一个用户点击下拉列表中的选项之一。

    细节

    选项列表中指定的检查员或从代码可以分配。 对于每一个选项可以指定一个文本字符串,并选择一个图像,如果设置下拉来支持它。

    按钮有一个单独的事件价值变化响应当用户完成点击列表中的选项之一。 它支持发送一个整数数字值的索引选择选项。 0是第一选择,1是第二步,等等。

    模板系统

    下拉控制的目的是有个孩子GameObject作为模板时显示的下拉列表中单击下拉控制。 模板GameObject默认是不活跃的,但可以活跃在编辑模板更好地看到发生了什么。 参考模板对象必须在模板中指定属性下拉菜单的组件。

    模板必须有一个单项与切换组件。 当创建实际的下拉列表中单击下拉控制,这一项是重复多次,一份用于每个选项在列表中。 父项目的自动调整大小所以它可以适用于所有里面的物品。

    A simple dropdown setup where the item is an immediate child of the template.一个简单的下拉菜单设置项在哪里的直接子模板。A more advanced dropdown setup that includes a scrollview that enables scrolling when there are many options in the list.更高级的下拉菜单设置,其中包括滚动视图,使滚动当有许多选项列表中。

    模板可以在许多不同的方式设置。 安装使用的UI GameObject > >下拉菜单项包括滚动视图,这样如果有太多选项显示,会出现一个滚动条,用户可以滚动选项。 这不过不是一个强制性的模板设置的一部分。

    (有关更多信息,请参见ScrollRect页面设置滚动视图)。

    设置文本和图像的支持

    下拉支持一个文本内容和一个图像内容对每个选项。 文本和图像是可选的。 他们只能使用如果设置下拉来支持它。

    每个选项的下拉支持文本的标题文本和文本项属性都设置。 这些都是默认设置,当UI使用GameObject > >下拉菜单项。

    • 标题文本的文本组件保存文本是当前选中的选项。 下拉GameObject通常是一个孩子。
    • 项目文本是文本组件每个选择的文本。 项目GameObject通常是一个孩子。

    每个选项的下拉支持一个图像时,标题图片和项目形象属性都设置。 这些都不是默认设置。

    • 标题图像的图像组件来保存图像当前选中的选项。 下拉GameObject通常是一个孩子。
    • 项目形象的图像组件来保存图像的每个选项。 项目GameObject通常是一个孩子。

    实际的文本和图像用于指定下拉选项下拉组件的属性,或者可以设置代码。

    位置的下拉列表

    的位置下拉列表的下拉控制是由锚定主的矩形变换的模板。

    默认情况下,将出现以下控制列表。 这是通过锚定模板底部的控制。 模板的主也需要在顶部,这样的模板是exapanded容纳数量可变的选择项,它只向下扩展。

    下拉控制简单的逻辑来防止,下拉显示在画布的范围之外,因为这将使它不可能选择某些选项。 如果下拉在其默认位置没有完全在画布上矩形,其位置与控制是逆转。 例如,列表如下所示控制默认将显示上面。

    这个逻辑非常简单,有一定的局限性。 下拉模板需要不超过一半的画布大小-下拉控件的大小,否则可能没有房间在位置如果下拉列表控件放置在中间的画布。

    展开全文
  • Unity动态下拉列表

    千次阅读 2019-02-26 20:37:19
    有一种情况,当我们对所获取的下拉列表的信息内容是未知数量的时候,就需要动态生成下拉列表了,其实这个很简单,一看就懂了,开始吧,兄弟,首先,编写一个我们需要的json文件,很多时候信息由服务器获取,大多都是...
  • Unity UGUI 下拉菜单

    2015-06-15 18:22:00
    2.panel里面加下拉buttom using UnityEngine; using System.Collections; public class DropDownList : MonoBehaviour { public GameObject panel; void Start () { panel...
  • Unity用GUI实现DropDown下拉菜单

    千次阅读 2016-12-23 10:45:50
    最近需要开发公司动作捕捉的开发插件给客户公司的Unity开发来使用,因为是...在这里我加了点内容让这个下拉菜单的小程序可以更灵活的使用,包括动态的增加下拉选项和动态增加下拉选项的响应方法,以下是这个脚本的Insp
  • 如何从数据库读取数据并动态加载到下拉框及列表框中。如何用按钮切换不同UI界面。资源导入Unity项目中,需要2019以上版本。
  • unity3d下拉菜单

    2013-11-29 20:17:49
    // unity3d下拉菜单效果 //you can use or mod this file anyway you like and if you make something cool out of it // and like to share it send it to piershaw@gmail.com //just add it to a cam ...
  • 使用UGUI设置一个简单多级下拉菜单(不需要代码)一、效果图二、简介三、具体实现方法(一)设置Hierarchy面板1.首先设置一个背景图片,同时挂载上ScrollRect组件,以及mask组件2.增加一个空物体为子类,挂载上图片...
  • unityGUI下拉菜单实现代码

    千次阅读 2013-09-29 15:02:28
    private var Ypos1 : float = 0.0; private var Ypos2 : float = 0.0; private var Ypos3 : float = 0.0; private var Ypos4 : float = 0.0;...private var showDropdownButtons1 : boolean;...private var showD
  • public class GmOrder : AView { Dropdown dro; int num = 0; List gmStr = new List { “添加道具”, “添加资源”, “完成关卡”, “完成任务”, “修改挂机时间”, “添加英雄”, “批量添加道具”, “批量添加...
  • 在写unity编辑器工具时候遇到一个奇怪的问题,EditorGUILayout.Foldout 下拉菜单什么都没有显示。国内外也找了找,没找到有用的答案,只能在明确数组中有内容等基本因素后做各种排查,最后发现是因为内容中字符串首...
  • UNITY 3D 下拉列表的设置(popup list)

    千次阅读 2014-11-10 13:30:08
    步骤如下:  创建一个
  • 就是一个简单的菜单,点一下按钮显示下一层菜单按键这样子。。
  • Unity3D中UGUI实现下拉菜单 Chinar-本文提供全流程,中文翻译。 助力快速使用 UGUI 实现 下拉菜单 UGUI 最初是没有下拉菜单的组件的 动态添加监听事件 后来更新加入后,用起来方便,可快速创建大量选择项,无需...
  • ... Menuitem属性有以下几...1、在菜单栏中添加菜单 2、在Inspector中添加菜单 3、控制菜单是否可用 4、绑定菜单快捷键 如图:①为菜单栏 ②为insprector中   1、实现菜单栏添加   [csharp] view...
  • 简单实现通过下拉菜单切换图片

    千次阅读 2019-03-13 14:25:34
    &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="...met
  • //表现 ...using UnityEditor; using UnityEngine; [CustomEditor(typeof(objPropPrefab))] //指定要编辑的脚本对象 public class PropInspector : Editor { public override void OnInspectorGU.
  • 使用PopupList制作下拉菜单(选择框) PopupList弹出列表视图控件 一:收集资源 若干背景图片,选择光标图 二:制作UI界面 1、一个空物体对象,加上Panel,PopupList,boxColiider组件   2、 一个Label对象做...

空空如也

1 2 3 4 5 ... 20
收藏数 2,529
精华内容 1,011
关键字:

unity下拉菜单