2019年8月26日 星期一

[C#, Unity] Unity Text text super box with ‘...’ ellipsis at the end

public void SetTextWithEllipsis(Text textComponent, string value)
        {
            var generator = new TextGenerator();
            var rectTransform = textComponent.GetComponent<RectTransform>();
            var settings = textComponent.GetGenerationSettings(rectTransform.rect.size);
            generator.Populate(value, settings);
            var characterCountVisible = generator.characterCountVisible;
            var updatedText = value;
            if (value.Length > characterCountVisible)
            {
                updatedText = value.Substring(0, characterCountVisible - 3);
                updatedText += "…";
            }
            textComponent.text = updatedText;
        }


Example:

Transform tt = gameObject.transform.Find("Text");
SetTextWithEllipsis(tt.gameObject.GetComponent<Text>(), "fffffffffffffffffffffffff");


中英文 符號 對照

Apostrophe撇號
() Bracket (英式) / Parentheses (美式)括號
 : Colon冒號
 , Comma逗號
 - Dash破折號
 … Ellipsis省略號
 ! Exclamation Mark (英式) / Point (美式)感嘆號
 . Full Stop (英式) / Period (美式)句號
 《 》 Guillemet書名號
 – Hyphen連字號
?  Question Mark問號
 "" Quotation Mark引號
;  Semicolon分號
/ Slash斜線

2019年8月21日 星期三

[C#, unity] Fixed: The name instantiate' does not exist in the current context

                        Transform cloneTransform = m_fields.GetChild(nColumn).GetChild(nIndex);
                        Transform tempTransform = Instantiate(cloneTransform).transform;
                        tempTransform.SetParent(m_fields.GetChild(nColumn));
                        tempTransform.localPosition = Vector3.zero;
                        tempTransform.localRotation = Quaternion.identity;
                        tempTransform.localScale = Vector3.one;


Answer:

Transform tempTransform = GameObject.Instantiate(cloneTransform).transform;