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

推荐订阅源

Google DeepMind News
Google DeepMind News
T
Threatpost
T
Tor Project blog
S
Schneier on Security
Project Zero
Project Zero
Know Your Adversary
Know Your Adversary
P
Proofpoint News Feed
K
Kaspersky official blog
P
Privacy International News Feed
Latest news
Latest news
Cisco Talos Blog
Cisco Talos Blog
T
The Exploit Database - CXSecurity.com
The Hacker News
The Hacker News
D
Docker
aimingoo的专栏
aimingoo的专栏
S
Securelist
C
Cyber Attacks, Cyber Crime and Cyber Security
Spread Privacy
Spread Privacy
TaoSecurity Blog
TaoSecurity Blog
T
The Blog of Author Tim Ferriss
T
Threat Research - Cisco Blogs
Simon Willison's Weblog
Simon Willison's Weblog
博客园 - 三生石上(FineUI控件)
人人都是产品经理
人人都是产品经理
Security Latest
Security Latest
V
Visual Studio Blog
WordPress大学
WordPress大学
J
Java Code Geeks
O
OpenAI News
T
Tailwind CSS Blog
S
Secure Thoughts
G
Google Developers Blog
博客园_首页
The Cloudflare Blog
The Register - Security
The Register - Security
A
Arctic Wolf
Y
Y Combinator Blog
阮一峰的网络日志
阮一峰的网络日志
B
Blog RSS Feed
IT之家
IT之家
美团技术团队
D
Darknet – Hacking Tools, Hacker News & Cyber Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
G
GRAHAM CLULEY
S
Security Affairs
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Application and Cybersecurity Blog
Application and Cybersecurity Blog
P
Palo Alto Networks Blog
C
CERT Recently Published Vulnerability Notes
W
WeLiveSecurity

博客园 - 阿土仔

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);