문제상황
public class SignScript : MonoBehaviour
{
public string text;
}
다음과 같이 public으로 변수를 선언하면 unity 엔진에서 해당 변수의 값을 오브젝트마다 넣어줄 수 있다.
이때 string의 경우 Enter는 입력되지 않고, \n과 같은 줄바꿈 문자를 삽입하더라도 줄바꿈이 일어나지 않는다.
이는 입력한 \n을 \\n으로 인식해 작성한 그대로 화면에 출력하기 때문이다.
해결방법
1. Replace함수 사용
public class SignScript : MonoBehaviour
{
public string text;
// Start is called before the first frame update
void Start()
{
text = text.Replace("\\n", "\n");
}
}
\\n을 \n으로 치환하면, 원래 역할인 줄바꿈을 당연히 잘 수행한다.
하지만...
- \t, \r 등 사용하는 특수문자마다 다 replace를 해줘야 한다
- 정말로 화면에 "\n" 문자가 찍혀야 한다면 방법이 없다
이런 문제점이 발생한다
2. TextArea 설정
public class SignScript : MonoBehaviour
{
[TextArea]
public string text;
}
string 위에 [TextArea]를 선언하면, Unity의 Text입력부분이 여러줄 입력 가능한 큰 공간이 된다.
이 공간에서는 Enter로 줄바꿈 입력이 가능하니 있는 그대로 입력해 사용할 수 있다.
※ 주의사항
TextArea를 붙였다가 제거한 경우, 원래의 한줄 Text로 돌아오며 기존 입력의 최상위 한줄만 보이게 된다.
하지만 실제로는 입력했던 값들이 다 그대로 남아 있으니, 제대로 삭제하지 않으면 2번째 줄부터는 그대로 유지되게 된다.
'토이프로젝트' 카테고리의 다른 글
[토이플젝] 그랑블루 판타지 친구찾기 - 근황 (12/05) (0) | 2021.12.05 |
---|---|
[토이플젝] Thymeleaf에서 byte[] array 이미지 표시 및 다운로드 (ModelAndView) (0) | 2021.12.03 |
[토이플젝] 그랑블루 판타지 친구찾기 - 근황 (12/02) (0) | 2021.12.02 |
[Unity] 화살 명중시 해당 지점에 남겨두기 (0) | 2021.11.03 |
[JAVA] Twitter4j로 트위터 인증 / 글 작성 ( pin 인증 방식 ) (0) | 2021.05.11 |
[토이플젝] 그랑블루 판타지 친구찾기 - 3일차 (0) | 2021.05.06 |
[WEB] Selenium으로 트위터 자동 로그인하기 (JAVA) (0) | 2021.05.01 |