unity3d - How to modify RectTransform properties in script [Unity 4.6 beta] -


छवि दर्ज करें नमस्कार, मैं यूनिटी 4.6 बीटा से नए यूआई सिस्टम का उपयोग कर रहा हूं ... </ p> <p> विभिन्न कोडों की कोशिश की, डॉक्स पर देखा और चारों ओर खोज की, लेकिन नहीं कर सकता जवाब ढूंढें ... </ p> <p> उदाहरण के लिए। मेरे पास एक छवि है और मैं रनटाइम के दौरान चौड़ाई और ऊंचाई बदलना चाहता हूं। </ P> <pre> <code> सार्वजनिक गेम ऑब्जेक्ट छवि 4; Image4.GetComponent & lt; RectTransform & gt; ()। Rect.Set (0,0,100, 300); </ Code> </ pre> <p> जो काम नहीं करता है और image4.GetComponent ()। Rect.y केवल प्राप्त किया जाता है, तो रनटाइम पर बदला नहीं जा सकता। </ P> <p> मैंने भी कोशिश की है: </ p> <pre> <code> image4.transform.localScale.y = 15; </ Code> </ pre> <p> जो या तो काम नहीं करता है। </ P> <p> रनटाइम पर आकार बदलने का सही तरीका क्या है? आप मुझे या तो जेएस या सी # में एक उदाहरण दे सकते हैं, कोई फर्क नहीं पड़ता। </ P> </ div> <p> <div class =

एक दिन शोध मुझे एक विस्तार मिला जो हमें नए यूआई सिस्टम से निपटने में मदद कर सकता है। यदि आप चाहें तो इस विस्तार में सुधार कर सकते हैं।

  सार्वजनिक स्थिर वर्ग RectTransformExtensions {सार्वजनिक स्थिर शून्य SetDefaultScale (यह RectTransform trans) {trans.localScale = नया वेक्टर 3 (1, 1, 1); } सार्वजनिक स्थिर शून्य SetPivotAndAnchors (यह RectTransform ट्रांस, वेक्टर 2 एवेक) {trans.pivot = aec; Trans.anchorMin = aVec; Trans.anchorMax = aVec; } सार्वजनिक स्थिर वेक्टर 2 GetSize (यह RectTransform ट्रांस) {वापसी trans.just.size; } सार्वजनिक स्थैतिक फ्लोट GetWidth (यह RectTransform ट्रांस) {वापसी trans.rect.width; } सार्वजनिक स्थिर फ्लोट GetHeight (यह RectTransform ट्रांस) {वापसी trans.rect.height; } सार्वजनिक स्थिर शून्य SetPositionOfPivot (यह RectTransform ट्रांस, वेक्टर 2 newPos) {trans.localPosition = नया वेक्टर 3 (newPos.x, newPos.y, trans.localPosition.z); } सार्वजनिक स्थिर शून्य SetLeftBottomPosition (यह RectTransform ट्रांस, वेक्टर 2 newPos) {trans.localPosition = नया वेक्टर 3 (newPos.x + (trans.pivot.x * trans.rect.width), newPos.y + (trans.pivot.y * Trans.rect.height), trans.localPosition.z); } सार्वजनिक स्थिर शून्य SetLeftTopPosition (यह RectTransform ट्रांस, वेक्टर 2 नएपोज) {trans.localPosition = नया वेक्टर 3 (newPos.x + (trans.pivot.x * trans.rect.width), newPos.y - ((1f - ट्रांस.pivot .y) * trans.rect.height), trans.localPosition.z); } सार्वजनिक स्थिर शून्य SetRightBottomPosition (यह RectTransform ट्रांस, वेक्टर 2 newPos) {trans.localPosition = नया वेक्टर 3 (newPos.x - ((1f - ट्रांस.pivot.x) * trans.rect.width), newPos.y + (ट्रांस Pivot.y * trans.rect.height), trans.localPosition.z); } सार्वजनिक स्थिर शून्य SetRightTopPosition (यह RectTransform ट्रांस, वेक्टर 2 newPos) {trans.localPosition = नया वेक्टर 3 (newPos.x - ((1f - ट्रांस.pivot.x) * trans.rect.width), newPos.y - ((1f - ट्रांस.pivot.y) * trans.rect.height), trans.localPosition.z); } सार्वजनिक स्थिर शून्य SetSize (यह RectTransform ट्रांस, Vector2 newSize) {Vector2 oldSize = trans.just.size; वेक्टर 2 डेल्टासिज़ = नया साइज़ - पुराने आकार; Trans.offsetmin = trans.offsetMin - नया वेक्टर 2 (डेल्टासिज़। X * ट्रांस.pivot.x, डेल्टासिसेज.आई * ट्रांस.pivot.y); Trans.offsetMax = trans.offsetMax + नया वेक्टर 2 (डेल्टासिज़। X * (1f - ट्रांस.pivot.x), डेल्टासिज़। Y * (1f - ट्रांस.pivot.y)); } सार्वजनिक स्थैतिक शून्य सेटवेडथ (यह रीक्स्ट ट्रांसफॉर्मर ट्रान्स, फ्लोट न्यूसिज़) {SetSize (ट्रांस, नया वेक्टर 2 (नया साइज़, ट्रांस। साइज़।)); } सार्वजनिक स्थिर शून्य सेटहाइट (यह रीक्टट्रांसफॉर्म ट्रांस, फ्लोट न्यूसिज़) {SetSize (trans, new vector2 (trans.ify.size.x, newSize)); }}  

स्रोत कोड मैं यहां से मिला:


Comments

Popular posts from this blog

c# - SignalR: "Protocol error: Unknown transport." when navigating to hub -

class - Kivy: how to instantiate a dynamic classes in python -

python - mayavi mapping a discrete colorbar on a surface -