본문 바로가기
728x90

유니티40

Unity & C# ~ InputField가 선택 되었을 때, 커서 위치 보통 InputField가 선택 되었을 때, 텍스트가 전체 선택된 상태입니다. 전체 선택된 focus를 커서를 처음 또는 중간, 마지막으로 옮기는 방법입니다. TMP_InputField inputField; // Start is called before the first frame update void Start() { inputField = GetComponent(); inputField.onSelect.AddListener(x => { #if inputField.selectionAnchorPosition = 0;// 커서의 처음 위치 inputField.selectionFocusPosition = 0;// 커서의 마지막 위치 #esleif inputField.selectionAnchorPosition.. 2022. 11. 17.
Unity & C# ~ Tab 키를 눌러서 입력 필드 위치 변경 (public list 활용) Tab 키를 눌렀을 때 입력 필드 위치를 변경하는 방법 중에서 특정 오브젝트만을 list에 담아 적용하는 방법입니다. using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; public class Tabkey : MonoBehaviour { [SerializeField] private List list; private int currentSelectedNum = 0; private void Update() { if (Input.GetKeyDown(KeyCode.Tab)) { //event system에서 선택한 오브젝트가 있는지를 검사 if(EventSystem.curr.. 2022. 11. 17.
Unity & C# ~ Visual Studio에서 Monobehavior scripting wizard 단축키 visual studio에 유니티 툴이 업데이트 되면서 유니티에서 사용되는 monobehavior 함수들을 만들어주는 유니티 메시지 구현 기능이 생겼습니다. 이 기능을 통해 awake()부터 시작해서 ontriggerenter와 같은 트리거 함수 등을 쉽게 찾아 볼 수 있습니다. 해당 wizard 창은 2가지 방법으로 호출할 수 있습니다. 1. 단축키 ctrl+shift+m 2. 마우스 오른쪽 키 -> unity 메시지 구현(implement unity messages) 선택 2022. 11. 8.
Unity & C# ~ text를 수정했을 때, ContentSizeFitter가 사이즈 조정을 안 했을 때 tmp_text나 text ui 등을 수정했을 때, 자기 자신의 component 이외에 상위 부모 component에 추가한 contentsizefitter에 의해서 transform size가 새로고침이 되지 않는 현상이 있습니다. 다른 블러거 분들이나 forum에서는 이를 contentsizefitter 버그가 아닌가로 보고 있는 듯 하고, contentsizefitter를 refresh 해주면 현상이 해결되는 것을 확인했습니다. 저의 경우는 상위 부모 2계층에 contentsizefitter가 자식까지 총 3개가 연이어 들어간 구조였기에 다음과 같은 코드를 적용했습니다. - 구조 부모1-component에 contentsizefitter add ㄴ부모2-component에 contentsizefi.. 2022. 11. 7.
Unity & C# ~ 문자열에서 여러 요소 바꾸기 String.Replace("&", "and").Replace(",", "").Replace(" ", " ") .Replace(" ", "-").Replace("'", "").Replace(".", "") .Replace("eacute;", "é").ToLower(); // 다른 방식으로 변환 StringBuilder sb = new StringBuilder(string); sb.Replace(",", ""); sb.Replace(" ", ""); sb.Replace("'", ""); sb.Replace(".", ""); var text = sb.ToString(); Debug.Log(text); 2022. 10. 24.
Unity & C# ~ 문자열에서 단어 검색 방법 string factMessage = "Extension methods have all the capabilities of regular static methods."; // Write the string and include the quotation marks. Console.WriteLine($"\"{factMessage}\""); // Simple comparisons are always case sensitive! // 문자열에 검색할 단어가 있는지 확인 bool containsSearchResult = factMessage.Contains("extension"); Console.WriteLine($"Contains \"extension\"? {containsSearchResult}"); // F.. 2022. 10. 24.
SMALL