当前位置: 首页 > news >正文

Unity-RectTransform设置UI width

不知道有没人需要这样的代码,就是.sizeDelta //不确定是不是英文翻译的原因,基本很难理解,sizeDelta===Size,//未必完全正确,但这么写好像总没错过

//image 在一个UnityEngine.UI.Image 的数组内foreach (var image in lstOfButtons) {var rectangle =image.rectTransform.rect;rectangle.width = buttonSize.x;rectangle.height = buttonSize.y;//不能这么写//image.rectTransform..rect = rectangle;var t = image.GetComponent<RectTransform>();var RECT = t.rect;image.rectTransform.sizeDelta = buttonSize;//buttonSize 是 Vector2}

很多年前,分享过这个项目

Unity判断鼠标点击是否在某个窗口 RectTransform 内_unity rectanglecontainsscreenpoint-CSDN博客

原理

RectTransform是一个很特殊的存在//上面的代码已经明显,指出了

因为,一般人的理解

GameObject

Transform,

已经觉得Unity有些多此一举了

(实际上Transform 也是GameObject的一个Component)

应该是可以AddComponent<Transform>()不是么

但实际上只能,AddComponent<RectTransform>()

这是为什么呢

主要还是历史原因

我很难说这个结构到底有什么好,但古今中外,那么一二十年的游戏引擎经验,我从未见第二个个引擎能做到

(没有这个结构的,自以为简单的就是做不好)

很多引擎觉得transform多省事,就是

gameobject

---Transform

---Component

这样的结构多好,多简单

实际上,最重要的结构就是Unity隐藏起来的:RectTransform

这是一个特殊的Component,特殊的UI结构(也是必然的UI结构)

因为一个比较符号用户习惯的UI编辑器有三部分

RectTransform几乎完美的融合你这三部分(用最简单,最贴近用户的做法,虽然API名字有些怪异)

并不是程序正义,而是符合用户习惯。。。

参考:

https://baike.baidu.com/item/%CE%B4/3300125


http://www.mrgr.cn/news/96126.html

相关文章:

  • 生成模型速通(Diffusion,VAE,GAN)
  • 【更新中】【React】基础版React + Redux实现教程,自定义redux库和react-redux库
  • Mac 常用命令
  • @Resource 与 @Autowired:Spring 中的依赖注入注解大比拼
  • 前端全局编程和模块化编程
  • Android面试之基础算法总结
  • 01 设计模式和设计原则
  • MyBatis-Plus(SpringBoot版)学习第一讲:简介入门案例
  • vue vue3 走马灯Carousel
  • 高性能 Android 自定义 View:数据渲染与事件分发的双重优化
  • QT三 自定义控件,自定义控件的事件处理自定义事件过滤,原始事件过滤
  • 自动化测试selenium(Java版)
  • Java基础关键_029_线程(二)
  • Vue3 项目通过 docxtemplater 插件动态渲染 .docx 文档(带图片)预览,并导出
  • linux - centos7 部署 redis6.0.5
  • Echarts使用
  • 字节跳动前端开发实习生面试总结
  • 蓝桥杯高频考点——二分(含C++源码)
  • QT自运行程序
  • 海康HTTP监听报警事件数据