修改RectTransform的值

用uGUI的时候。经常需要动态改变RectTransform的值,

当选择不同的布局。你会发现这里的值是不同的

有的left,botom。或者posx posy

这时想改变就要通过对应的属性值了

U3D 新UI系统UGUI 的recttransform一些参数的设置
unity出了一套比之前好用的UI系统,但是也新出了RectTransform,PosX,PosY....,刚开始可能不知道怎么用代码去更改,但是经过许多的实验之后就会明白一些:

1.改变RectTransform的top
GetComponent<RectTransform>().offsetMax = new Vector2(GetComponent<RectTransform>().offsetMax.x, top);

2.改变RectTransform的bottom
GetComponent<RectTransform>().offsetMin = new Vector2(GetComponent<RectTransform>().offsetMin.x, bottom);

3.改变RectTransform的width,height
GetComponent<RectTransform>().sizeDelta = new Vector2(width, height);

4.改变RectTransform的pos
GetComponent<RectTransform>().anchoredPosition3D = new Vector3(posx,posy,posz);
GetComponent<RectTransform>().anchoredPosition = new Vector2(posx,posy);

时间: 2024-10-12 16:54:22

修改RectTransform的值的相关文章

通过反射 修改访问和修改属性的值 Day25

package com.sxt.field; /* * 通过反射拿到属性值 * 修改public属性值 * 修改private属性值 * 缺点:可读性差:代码复杂 * 优点:灵活:可以访问修改private属性值 * 以后多运用setXxx getXxx 修改属性的值 */ import java.lang.reflect.Field; import java.lang.reflect.Modifier; public class TestField { public static void m

7.通过函数修改实参的值 2012.3.20

*************************************************************************************************************************** 7.通过函数修改实参的值   2012.3.20 *****************************************************************************************************

c#中数组名作为参数如何通过修改形参的值来改变实参的值?

using System; namespace ConsoleApplication1 { class Program { void f(int[] a) { a[0] = 1;//通过这种方式就可以修改实参的值,说明通过这种方式就是在原内存上来修改元素的值 } static void Main(string[] args) {Program obj=new Program(); int[] a =new int[4] { 6, 7, 8, 9 }; obj.f(a); for (int i =

利用BBED恢复UPDATE修改前的值

实验过程如下: 1.创建表guo_test1 [email protected]> create table guoyJoe_t1(id int,name varchar2(10)); Table created. [email protected]> insert into guoyJoe_t1 values(1,'guoyJoe'); 1 row created. [email protected]> insert into guoyJoe_t1 values(1,'tom'); 1

iOS AutoLayout自动布局中级开发教程(5)-修改约束的值,延迟加载

如何修改autolayout 约束的值? <span style="font-family:SimSun;">目前我已知的方法有5种 1.修改frame(有时候可能会不起作用,但可以做动画) 2.修改约束的float值 3.使用VisualFormat 语言 4.使用 constraintWithItem,按倍率改变   如  2x+1=Y  5.移除约束(remove at runtime),添加新的约束</span> 前面的文章已经讲到如何使用storybo

C语言执行时报错“表达式必须是可修改的左值,无法从“const char [3]”转换为“char [120]” ”,原因:字符串不能直接赋值

解决该问题的方法:使用strcpy函数进行字符串拷贝 原型声明:char *strcpy(char* dest, const char *src); 头文件:#include <string.h> 和 #include <stdio.h> 功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串. 返回指向dest的指针. 1 // testArray.cpp :

C# 使用IEnumerable,yield 返回结果,同时使用foreach时,在循环内修改变量的值无效

在项目中遇到了一个比较奇怪的问题,在foreach循环中修改列表的值后没有生效,后面使用时还是获取列表时的值,原因是因为使用了 yield return .下面让我们来探究下其中的原因: 首先来看下 yield return 官方的解释 使用 yield return 语句可一次返回一个元素.通过 foreach 语句或 LINQ 查询来使用迭代器方法. foreach 循环的每次迭代都会调用迭代器方法. 迭代器方法运行到 yield return 语句时,会返回一个 expression,并保

C/C++修改常量的值

C/C++中常量修饰const可以用来保证一些确定的量不会被一不小心改变,比如PI,一直是3.14159...... 但是不排除有时候也会需要修改常量的值,通过直接修改是不能达到目的. 比如: [cpp] view plaincopyprint? #include <stdio.h> int main(int argc, const char *argv[]) { const int a = 0; a = 2; return 0; } 编译时会报错: const1.c: In function

rapidxml 解析修改内存的值

1.使用rapidxml解析的时候,特别注意,rapidxml会修改内存的值,把右尖括号>修改为'\0',因此特别注意,如果char指针指向的内容还要使用,需要做个备份. 2.如果char指针指向的内容,不再使用,不需要做备份,rapidxml会直接修改内存.这个时候不要忘记delete []释放资源.delete释放内存,跟内存中的取值没有关系,取值为0,也会正确地释放内存.使用new分配内存8个字节,操作系统会多分配一些内存,额外的内存记录分配了多少内存,这样在释放的时候,就知道应该释放多少