網站首頁 編程語言 正文
以前一直以為在Inspector面板上的是Transform,后來才發現原來2D是RectTransform,3D是Transform
3D面板上顯示的是位置坐標組件Transform,2D面板上顯示的是位置坐標組件RectTransform
RectTransform是Transform的子類
可以這樣強制轉換,反過來則不行
gameObject.GetComponent<RectTransform>().anchoredPosition3D = new Vector3(x,y,z);
”錨點“在”父物體“中的位置和樣式,取值范圍為0(父物體左下) - 1(父物體右上)。
當值的最大和最小不相同的時候表示一個區間,這時錨點會散開,錨點的一邊在最小值上,錨點的一邊在最大值上,都一樣的時候就會如上圖在一個點上
特性: 決定當父物體改變的時候子物體的位置和 大小
RectTransform是繼承transform的,它是針對unity中ui的,具體在表現上可以這樣看待,凡是在在canvas組件下或者具有canvas組件的2d對象,他都recttransform組件,那些在3d空間下沒有不受canvas控制的對象都是transfrom組件。
關于recttransform的坐標設置,我們在設置ui對象的坐標的時候設置的都是recttransform的坐標,他是相對于自身錨點的,和父對象的中心點沒有關系應該這樣設置。
RectTransform組件還有一個anchoredPosition字段,它是忽略z坐標的,一般使用anchoredPosition3D 進行設置
我們通常也會這樣設置ui的坐標
gameObject.transform.localPosition = new Vector3(x,y,z)
但其實這樣是不準確的,它的位置是相對于父節點的中心點的,只有在特殊條件下才會正確,就是在父節點的中心點和子節點的錨點是重合的情況下才是正確的。
可以看到屬性面板中anchors的min和max相等的時候,也就是錨點是一個點的時候屬性面板中設置坐標是Posx posy, posz。如果錨點不是重合的情況下
此時,他的屬性面板是這樣的
變成了left,top,posZ,right,bottom
分別代表距離左上右下和z軸的距離。
是用來計算坐標的,即表示,自己點的哪個位置相對錨點的坐標
總結:
gameobject.transform.localposition =
這種方式是子節點的中心點piovt相對于父節點的中心點poivt的對標
Vector3 vector3 = gameObject.GetComponent<RectTransform>().anchoredPosition3D=
這鐘是子節點的中心點相對自身的錨點的坐標和父節點沒有關系
原文鏈接:https://www.cnblogs.com/guangzhiruijie/p/15835916.html
相關推薦
- 2022-09-29 react嵌套路由實現TabBar的實現_React
- 2022-12-05 Spark中的數據讀取保存和累加器實例詳解_相關技巧
- 2022-12-09 C#中async和await的深入分析_C#教程
- 2022-12-14 Jetpack?Compose?DropdownMenu手指跟隨點擊顯示_Android
- 2022-03-18 docker?創建容器時指定容器ip的實現示例_docker
- 2022-10-17 QT實現TCP網絡聊天室_C 語言
- 2023-01-05 Go單例模式與Once源碼實現_Golang
- 2023-11-12 jetson nano報錯Cannot allocate memory的問題——解決辦法
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支