惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Cyberwarzone
Cyberwarzone
S
Securelist
S
Schneier on Security
V
Vulnerabilities – Threatpost
Latest news
Latest news
G
GRAHAM CLULEY
C
CERT Recently Published Vulnerability Notes
T
The Exploit Database - CXSecurity.com
Scott Helme
Scott Helme
Know Your Adversary
Know Your Adversary
雷峰网
雷峰网
S
SegmentFault 最新的问题
Jina AI
Jina AI
A
About on SuperTechFans
GbyAI
GbyAI
F
Full Disclosure
T
Tenable Blog
博客园 - 聂微东
P
Privacy International News Feed
Recorded Future
Recorded Future
PCI Perspectives
PCI Perspectives
MongoDB | Blog
MongoDB | Blog
L
LINUX DO - 热门话题
NISL@THU
NISL@THU
Microsoft Security Blog
Microsoft Security Blog
C
Check Point Blog
The GitHub Blog
The GitHub Blog
IT之家
IT之家
S
Secure Thoughts
Cloudbric
Cloudbric
S
Security @ Cisco Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
博客园_首页
N
News | PayPal Newsroom
有赞技术团队
有赞技术团队
I
Intezer
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
大猫的无限游戏
大猫的无限游戏
The Register - Security
The Register - Security
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
Martin Fowler
Martin Fowler
小众软件
小众软件
人人都是产品经理
人人都是产品经理
C
Cyber Attacks, Cyber Crime and Cyber Security
宝玉的分享
宝玉的分享
Schneier on Security
Schneier on Security

博客园 - 阿土仔

Unity 2019中对象池的用法 Unity场景间数据传递方法 UGUI防止穿透和判断点击的是否是UI Unity中的Character Controller Unity插件研究-EasyTouch V5 Unity塔防游戏的创建 Unity性能优化-DrawCall Unity性能优化-对象池 Unity性能优化-音频设置 Unity性能优化-遮挡剔除 Unity异步加载场景 Unity 协程 HBuilder git使用-分工合作 HBuilder git合作-代码同步 微信小程序开发-窗体设置 HBuilder git合作-从Git Hub Clone项目 HBuilder git合作-上传项目到Git Hub 微信小程序开发-tabbar组件 HBuilder git使用-建立仓库,邀请用户
Unity UGUI动态生成控件
阿土仔 · 2019-09-06 · via 博客园 - 阿土仔

       一、 首先你得先清楚RectTransform组件的一些程序控制  

        1. 先得到UGUI控件上面的RectTransform组件

RectTransform rtr = gameObject.GetComponent<RectTransform>();

          2.  设置top和bottom值

rtr.offsetMax = new Vector2(rtr.offsetMax.x, top);
rtr.offsetMin = new Vector2(rtr.offsetMin.x, bottom);

           3. 设置width,height

rtr.sizeDelta = new Vector2(width, height);

           4.  设置pos

rtr.anchoredPosition3D = new Vector3(posx,posy,posz);

rtr.anchoredPosition = new Vector2(posx,posy);

           二、动态生成Button实例

          1. 目标是要生成这样一个Button,这是手工设置的方式:

                    

             2. 现在是代码方式:

        canvas = GameObject.Find("Canvas").transform;
        if (ButtonPrefab)
        {
            NewButton = (Button)Instantiate(ButtonPrefab);
            NewButton.transform.SetParent(canvas);
            RectTransform rtr = NewButton.GetComponent<RectTransform>();
            //设置父级基准位置
            rtr.anchorMin = new Vector2(0.5f,0.5f);
            rtr.anchorMax = new Vector2(0.5f, 0.5f);
            //定义控件自身定位点位置
            rtr.pivot = new Vector2(0.5f, 0.5f);
            //定义控件定位点相对基准位置的偏移
            rtr.anchoredPosition = new Vector2(0, 0);
            //定义控件大小
            rtr.sizeDelta = new Vector2(200, 80);
            //事件添加
            NewButton.onClick.AddListener(ButtonClicked);