GAME MAKER 강좌
KAYAN
◈ 문자열
문자열은 두개의 따옴표(' ' 또는 " ") 안에 글자를 작성하면 문자열로 취급합니다.
var test = "Hello, World" |
문자열과 숫자는 데이터 처리가 다르기 때문에 구분해서 코딩을 해야 합니다.
예를 들어, 아래와 같이 문자열과 숫자를 더하면 오류가 발생합니다.
var test="고양이 " + 3 + "마리" |
문자열과 숫자를 더하려면, 숫자를 string(값) 함수를 사용하여 문자열로 전환해야 합니다.
var test="고양이 " + string(3) + "마리" //----- 출력 내용 -----// 고양이 3마리 |
문자열에서 줄바꿈을 사용하려면, 줄바꿈 위치에 "\n"를 기입하면 됩니다.
var test = "Hello,\nWorld" //----- 출력 내용 -----// Hello, World |
전체 문자열 앞에 @ 문자를 붙여 멀티 라인의 문자열을 만들 수도 있습니다.
var test = @"최고의 2D 게임 개발 환경! 게임 제작에 필요한 모든 것! 게임메이커로 게임을 만들어 보세요. "; |
문자열을 사용할 때 문자열의 일부로 따옴표를 포함하려면 문자열을 분리해야 합니다.
var test = @"Hello " + "\"" + @"World" + "\"" //----- 출력 내용 -----// Hello "World" |
◈ 템플릿 문자열
템플릿 문자열은 문자열에 괄호 { }를 사용하여 자리를 만들고, 외부값을 지정한 자리에 적용하면,
문자열의 일부로 적용할 수 있는 서식입니다.
일반적으로 문자열에 외부 값을 기입하려면 아래와 같이 할 수 있습니다.
a="포션"; b=100; t=string(a)+"의 가격은 "+string(b)+"입니다."; //----- 출력 내용 -----// 포션의 가격은 100입니다. |
string함수로 변수의 값과 문자열을 합치는 방식이죠.
하지만 $를 문자열 앞에 붙이면, 괄호{ }안에 값을 적용하는 서식형태로 좀 더 단순하게 코딩을 할 수 있습니다.
a="포션"; b=100; t=$"{a}의 가격은 {b}입니다."; //----- 출력 내용 -----// 포션의 가격은 100입니다. |
함수로는 string을 기본적으로 사용할 수 있고, 또는 string_ext 함수를 확장해서 사용할 수 있습니다.
● string(value_or_format [, value1, value2, ...]) - value_or_format : 값 - [, value1, value2, ...] : [선택 사항] 템플릿 문자에 개별적으로 삽입할 값. 여러개의 값을 지정할 수 있음. ● string_ext(value_or_format [, values_array]) - value_or_format : 값 - [, values_array] : [선택 사항] 템플릿 문자에 삽입할 배열. 배열 인덱스 순으로 값이 지정됨. |
먼저, 문자열내에 {0}, {1}, {2}.... 형태로 변수를 넣고 싶은 자리를 만들어 문자열로 구성합니다.
다음으로 string 함수의 [value1, value2....]에 자리에 들어갈 값을 순서대로 넣어주면 됩니다.
참고로 {0}번이 첫번째 자리입니다.
//값을 여러개 직접 지정할 경우 str=string("{0}(은)는 체력을 {1}(을)를 회복시킵니다.","약초",30); 또는, //배열로 지정할 경우 var _array=["약초",30]; //배열 인덱스 순으로 값이 지정됨. str=string_ext("{0}(은)는 체력을 {1}(을)를 회복시킵니다.",_array); //----- 출력 내용 -----// 약초(은)는 체력을 30(을)를 회복시킵니다. |
템플릿 문자열의 자리에 지정할 값이 없으면, 해당 자리의 서식은 무시되고 단순 문자열로 표시됩니다.
예를 들어, 아래와 같이 서로 다른 2개의 자리에 1개의 자릿값만 적용했을 때,
str=string("{0}(을)를 {1}개 회득했습니다.","체력 포션"); //----- 출력 내용 -----// 체력 포션(을)를 {1}개 획득했습니다. |
{1}자리에 들어갈 값이 없기 때문에, 1번 자리는 단순 문자열로 적용됩니다.
'GameMaker강좌[GMS2] > GMS2기초강좌' 카테고리의 다른 글
[게임메이커 강좌-기초][GMS2] 배열 (3) | 2023.12.31 |
---|---|
[게임메이커 강좌-기초][GMS2] 문자열 분할하기 (1) | 2023.12.30 |
[게임메이커 강좌-기초][GMS2] 삼항연산자(? :) (1) | 2023.12.30 |
[게임메이커 강좌-기초][GMS2]3D에서의 목표물 거리와 방향측정 (3) | 2023.07.12 |
[게임메이커 강좌-기초][GMS2]목표물 방향과 거리측정 (0) | 2023.07.12 |
댓글