如何从RectTransform组件获取所属的原始GameObject?
解决方法
你之前的错误在于GameObject不是组件类型,GetComponent<T>()只能获取挂载在对象上的组件,而GameObject是所有组件的宿主,不能用这个方法获取。
所有Unity组件(包括RectTransform)都自带gameObject属性,直接通过它就能拿到所属的原始GameObject,修改后的代码如下:
private void ShowGraph(RectTransform activeGraphContainer) { graphs.Clear(); graphs.Add(activeGraphContainer.gameObject); // 这行是正确的写法 //LABEL Y-AXIS --> float graphHeight = activeGraphContainer.sizeDelta.y; float graphWidth = activeGraphContainer.sizeDelta.x; // 后续操作... }
这个改动不需要修改方法的参数,直接利用组件自带的属性就能实现需求,完全符合你的要求。
内容的提问来源于stack exchange,提问作者Xpired
相关产品推荐
相关产品推荐

