专栏首页韩东吉的Unity杂货铺零基础入门 32:修改组件的位置.宽高.旋转.缩放

零基础入门 32:修改组件的位置.宽高.旋转.缩放

已经不止一两个同学来问过我这个问题了,如何修改一个组件的位置啊,宽高啊,旋转啊,缩放啊之类的问题,鉴于好多同学都有这个疑问,我就单独把他抽出一个小分享内容列出来。

进入今天的正题


在新场景中,我们随便创建一个Image贴图,然后看下他的inspector面板中的属性

从上图可以看出来,刚刚创建的Image,大家所关心的位置啊,宽高啊,旋转啊,缩放啊,都通通在一个叫RectTransform的组件内,所以大家想知道的这些信息也都属于这个RectTransform的属性。

知道了上面的事情之后呢,告诉大家,哪些是控制的各个属性。

首先是位置

对于位置来说,在3D世界中有xyz三种坐标轴,但是对于2D UI来说,我们通常只需要修改它的x和y

也就是下图的属性就是用来控制位置的

对于宽高来说,就是我们下面的Width和Height属性

旋转值就是Rotation属性

缩放就是Scale属性

知道了什么属性修改什么值以后呢,接下来就把代码列出来,修改这个Image组件的

代码如下

using UnityEngine;

using System.Collections;

using UnityEngine.UI;

public class ChangeImageProperties : MonoBehaviour

{

#region Public Attributes

public Image m_image;

#endregion

#region Private Attributes

#endregion

#region Unity Messages

void Start()

{

//修改位置

m_image.rectTransform.anchoredPosition = new Vector2(50.0f, 50.0f);

//修改宽高

m_image.rectTransform.sizeDelta = new Vector2(120.0f, 120.0f);

//修改旋转

m_image.rectTransform.localRotation = Quaternion.Euler(new Vector3(20.0f, 10.0f, 30.0f));

//修改缩放

m_image.rectTransform.localScale = new Vector3(1.2f, 1.2f, 1.2f);

}

#endregion

#region Public Methods

#endregion

#region Override Methods

#endregion

#region Private Methods

#endregion

#region Inner

#endregion

}

默认的Image属性图如下

运行后的修改属性图如下

好了,最后我再把关键代码粘贴一次

//修改位置

m_image.rectTransform.anchoredPosition = new Vector2(50.0f, 50.0f);

//修改宽高

m_image.rectTransform.sizeDelta = new Vector2(120.0f, 120.0f);

//修改旋转

m_image.rectTransform.localRotation = Quaternion.Euler(new Vector3(20.0f, 10.0f, 30.0f));

//修改缩放

m_image.rectTransform.localScale = new Vector3(1.2f, 1.2f, 1.2f);

以上就是今天的分享内容了,希望可以帮助更多需要的同学

大家下期分享见

本文分享自微信公众号 - 韩东吉的Unity杂货铺(DeveloperJimin),作者:Jimin

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-10-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 零基础入门 22: UGUI Panel

    今天要给大家分享的。。。可谓是,非常的简单啊,我甚至都在考虑要不要单独抽出一次当做分享内容 (・-・*),也有可能是我所有分享里文字数目最少的

    韩东吉
  • 零基础入门 27:加载Loading的制作和使用

    今天要给大家说的是一个游戏中很常见的东西,想必大家也都不会陌生,那就是加载的Loading,俗称游戏里的小菊花。

    韩东吉
  • 零基础入门 11: 通过脚本设置UGUI Image

    因为默认的脚本是没有引入UnityEngine库的。所以当我们新创建了一个脚本后,在脚本上方加入UnityEngine的引用。

    韩东吉
  • 【Rust日报】2020-07-11 关于 Linux 内核支持 Rust 的讨论

    Rust 编程语言在安全性方面具有一些优势,因此某些 Linux 内核开发人员希望使用它。其中一位 Nick Desaulniers 希望在即将举行的 Linu...

    MikeLoveRust
  • 用户体验的那点事

    摘要内容显示过多,很少有人去认真看这个内容的,一般是用来配合解释标题的,习惯性的还是看标题,方便找自己需要的资源,如需要显示摘要,那么建议最好不要超过3行。

    公众号php_pachong
  • 使用python执行shell脚本 并动态传参 及subprocess的使用详解

    最近工作需求中 有遇到这个情况 在web端获取配置文件内容 及 往shell 脚本中动态传入参数

    砸漏
  • 【头条】谷歌发布全新TensorFlow 库tf.Transform;百度将Ring Allreduce算法引入深度学习

    谷歌发布全新 TensorFlow 库“tf.Transform” 谷歌表示,tf.Transform 将改善 TensorFlow 的数据预处理和格式转化难题...

    AI研习社
  • Mysql基础篇--面试如何定位低效率sql语句

    当面对一个sql性能问题,我们应该从何处入手使得尽快定位问题sql,我们从基础的命令开始

    小土豆Yuki
  • python3--面向对象进阶之内置方法

    print执行时,是去内部寻找__str__方法,所以print没有输出不了的数据,因为每一个对象都有__str__方法

    py3study
  • GO笔记之详解GO的编译执行流程

    上篇文章介绍了Golang在不同系统下的安装,并完成了经典的Hello World案例。在这个过程中,我们用到了go run命令,它完成源码从编译到执行的整个过...

    波罗学

扫码关注云+社区

领取腾讯云代金券