问题背景

在做签到系统时,需求给的效果图如下

效果图像这样,中间是模型,周围其他是签到框这样的布局,我想动态生成各个动态框,涉及到一个定位问题,锚点的设置(动态去设置每个item的位置)

实现方法

SetInsetAndSizeFromParentEdge();

此方法属于RectTransform里面得函数,(如果想更多了解RectTransform的话前面我有分析,https://www.cnblogs.com/answer-yj/p/10623304.html),这个函数有三个参数,第一个参数RectTransform.Edge.Left,是指左边的边界,第三个参数是图片的尺寸(有些地方说这是长度,但是我觉得有可能长有可能宽,需要看RectTransform.Edge的值),第二个参数是离边界的距离。注意第三个参数,这是图片尺寸,以第一个参数决定是图片的哪个尺寸

实现代码

        for (int i = ; i < ; i++)
{
GameObject go = Instantiate(Resources.Load<GameObject>("Prefab"));
go.transform.SetParent(GameObject.Find("GameObject").transform);
go.transform.localPosition = Vector3.zero;
RectTransform rectTransform = go.GetComponent<RectTransform>();
switch (i)
{
case :
rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, , );
rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, , );
break;
case :
rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, , );
rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Right, , );
break;
case :
rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, , );
break;
case :
rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Right, , );
break;
case :
rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Bottom, , );
rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, , );
break;
case :
rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Bottom, , );
break;
case :
rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Bottom, , );
rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Right, , );
break;
}
}

就这样实现了所需布局。

(新手上路,欢迎指正)

Unity中锚点的动态设置的更多相关文章

  1. 实现ScrollView中包含ListView,动态设置ListView的高度

    ScrollView 中包含 ListView 的问题 : ScrollView和ListView会冲突,会导致ListView显示不全 <?xml version="1.0" ...

  2. vue中渲染页面,动态设置颜色

    for循环中动态设置页面的图标或者字体颜色与循环中且套循环 :style="{'color':items.color}" 案例代码: html中 <div class=&qu ...

  3. 微信小程序首页index.js获取不到app.js中动态设置的globalData的原因以及解决方法

    前段时间开发了一款微信小程序,运行了也几个月了,在index.js中的onLoad生命周期里获取app.js中onLaunch生命周期中在接口里动态设置的globalData一直没有问题,结果昨天就获 ...

  4. android动态设置组件LayoutParams

    开发中经常用到动态设置组件的LayoutParams,之前开发遇到的问题如下: LinearLayout.LayoutParams params = new LinearLayout.LayoutPa ...

  5. 在Unity中接入Xbox360手柄

    提要 本文主要介绍了怎样在Unity中接入Xbox360的手柄. 当我们调Input.GetAxis("Horizontal"),我们调了什么 Unity中全部关于输入的设置都在E ...

  6. Unity 中动态修改碰撞框(位置,大小,方向)

    在Unity中,玩家处于不同的状态,要求的碰撞框的 位置/大小/方向 会有所改变,怎么动态的修改碰撞框呢? 下面是Capsure Collider(胶囊体)的修改: CapsuleCollider.d ...

  7. Unity中动态创建Mesh

    什么是Mesh? Mesh是指的模型的网格,3D模型是由多边形拼接而成,而多边形实际上又是由多个三角形拼接而成的.即一个3D模型的表面其实是由多个彼此相连的三角面构成.三维空间中,构成这些三角形的点和 ...

  8. Unity中调用Windows窗口句柄以及根据需求设置并且解决扩展屏窗体显示错乱/位置错误的Bug

    问题背景: 现在在搞PC端应用开发,我们开发中需要调用系统的窗口以及需要最大化最小化,缩放窗口拖拽窗口,以及设置窗口位置,去边框等功能 解决根据: 使用user32.dll解决 具体功能: Unity ...

  9. Quartz在Spring中动态设置cronExpression (spring设置动态定时任务)

    什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什么任务,但任务的定时是不确定的(是由客户制定).      这样总不能修改配置文件每定制个定时任务就增加一个trigger吧,即便允许客户 ...

随机推荐

  1. Eclipse新建动态页面

    作为web小学生,写一下很多人问的基本基本基本问题 新建web项目 出现一下界面: 明明完成后一直点击next,但不要点击finish 知道出现这个界面(最后一个界面) 打上勾(用来自动生成web.x ...

  2. 【UOJ448】【集训队作业2018】人类的本质 min_25筛

    题目大意 给你 \(n,m\),求 \[ \sum_{i=1}^n\sum_{x_1,x_2,\ldots,x_m=1}^i\operatorname{lcm}(\gcd(i,x_1),\gcd(i, ...

  3. Java 获取当前线程、进程、服务器ip

    /** * 获取当前线程id */ private Long getThreadId() { try { return Thread.currentThread().getId(); } catch ...

  4. 【BZOJ4032】[HEOI2015]最短不公共子串(后缀自动机,序列自动机)

    [BZOJ4032][HEOI2015]最短不公共子串(后缀自动机,序列自动机) 题面 BZOJ 洛谷 题解 数据范围很小,直接暴力构建后缀自动机和序列自动机,然后直接在两个自动机上进行\(bfs\) ...

  5. 【CF932E】Perpetual Subtraction(NTT,线性代数)

    [CF932E]Perpetual Subtraction(NTT,线性代数) 题面 洛谷 CF 题解 设\(f_{i,j}\)表示\(i\)轮之后这个数恰好为\(j\)的概率. 得到转移:\(\di ...

  6. 超越村后端开发(5:远程同步本地与服务器端的MySQL数据库)

    1.同步MySQL数据库 服务器选用的华为云,安装了Ubuntu18.04,华为云默认是以root用户登录的. 1.使用Xshell6连接华为云 ls 2.Ubuntu18.04安装MySQL5.7 ...

  7. servlet三大作用域对象

    1 req 请求对象 共享的数据 : 请求共享 特点: 同一次请求中 共享数据可以获取 (请求一旦结束 请求共享清除站)(请求转发能共享 重定向不行) 代码: req.setAttribute(&qu ...

  8. CMakeList.txt(3): 一个cmake实例

    介绍一个比较实用的例子,即包含生成静态库又包含引入外部头文件和链接库的cmake demo. 先按照工程规范建立工程目录,并编写代码,以下面的工程目录为例进行解释这个例子,工程的目录结构为: 1. 编 ...

  9. slickedit编译调试linux应用程序

    目录 slickedit编译调试linux应用程序 工程建立 编译 智能报错跳转 配置编译环境 调试 title: slickedit编译调试linux应用程序 date: 2019/3/19 17: ...

  10. linux下的/dev/shm/ 以及与swap目录的区别【转】

    /dev/shm 概念 首先可以看出来/dev/shm是一个设备文件, 可以把/dev/shm看作是系统内存的入口, 可以把它看做是一块物理存储设备,一个tmp filesystem, 你可以通过这个 ...