본문 바로가기

GameMaker강좌[GMS2]195

[게임메이커 강좌-기초][GMS2] 배열 GAME MAKER 강좌 KAYAN 배열은 매우 유용할 수 있으며 게임을 만드는데 필수적입니다. 이 기능은 여러 값을 목록형태로 보유할 수 있는 변수 유형 중 하나입니다. ◈ 1차 배열 배열은 단순히 변수에 할당되는 데이터 유형이며 하나의 값이 아니라 여러 값을 포함할 수 있습니다. 배열을 사용하기 전에 먼저 초기화(정의)해야 사용할 수 있습니다. 그렇지 않으면 참조 오류가 발생해요. 1차 배열은 아래와 같이 정의합니다. 변수[인덱스] = 값 사용할 변수에 인덱스(위치)를 지정하고, 그 위치에 값을 할당하는 방식입니다. 인덱스는 0부터 시작하고 양의 정수로 구성합니다. 예) a[0]=125 a[1]=4.56 a[2]=id a[3]="Hi!" ... 이것을 1차 배열이라고 하며, 보시다시피 배열은 변수 ".. 2023. 12. 31. (♡ )
[게임메이커 강좌-기초][GMS2] 문자열 분할하기 GAME MAKER 강좌 KAYAN ◈ 문자열 분할하기 문자열을 분할할 수 있는 함수에 대해 알아봅시다. ● string_split(string, delimiter, [remove_empty], [max_splits]) - string : 주어진 구분 기호를 사용하여 분할할 문자열 - delimiter(구분자) : 분할을 구분할 문자열 구분자 - remove_empty : [선택사항] 이 매개변수는 빈 배열 요소를 배열에서 제거해야 하는지를 결정합니다(기본값은 false). 배열에서 빈 문자열을 원하지 않으면 이 매개변수를 true로 설정해야 합니다. - max_splits : [선택사항] 최대 분할 수를 결정합니다. max_splits 뒤에 오는 모든 구분 기호는 마지막 문자열의 일부가 됩니다. 예를들.. 2023. 12. 30. (♡ )
[게임메이커 강좌-기초][GMS2] 문자열 GAME MAKER 강좌 KAYAN ◈ 문자열 문자열은 두개의 따옴표(' ' 또는 " ") 안에 글자를 작성하면 문자열로 취급합니다. var test = "Hello, World" 문자열과 숫자는 데이터 처리가 다르기 때문에 구분해서 코딩을 해야 합니다. 예를 들어, 아래와 같이 문자열과 숫자를 더하면 오류가 발생합니다. var test="고양이 " + 3 + "마리" 문자열과 숫자를 더하려면, 숫자를 string(값) 함수를 사용하여 문자열로 전환해야 합니다. var test="고양이 " + string(3) + "마리" //----- 출력 내용 -----// 고양이 3마리 문자열에서 줄바꿈을 사용하려면, 줄바꿈 위치에 "\n"를 기입하면 됩니다. var test = "Hello,\nWorld" //-.. 2023. 12. 30. (♡ )
[게임메이커 강좌-기초][GMS2] 삼항연산자(? :) GAME MAKER 강좌 KAYAN ◈ 삼항연산자(? :) 삼항연산자(conditional operations, ternary operations)는 피연산자를 3개 가지는 조건 연산자입니다. //기본식(? :) 조건문 ? 표현식1(참) : 표현식2(거짓) //또는, 변수에 반환값을 전달할 때, 변수 = 조건문 ? 표현식1(참) : 표현식2(거짓) 세 개의 항은 각각 조건문 하나와 선택문 두 개로 구성되며, if else 문을 축약한 형식입니다. 조건문이 참일 때 참의 표현식1을 연산하고, 거짓이면 거짓의 표현식2을 연산합니다. 예를 들어, 아래와 같은 식이 있을 때, 예) value = num1 ? 100 : 200 ; 이것은 조건 num1이 참이면 value 에 100 반환값을 할당하고, 거짓이면 2.. 2023. 12. 30. (♡ )
[게임메이커 강좌-기초][GMS2]3D에서의 목표물 거리와 방향측정 GAME MAKER 강좌 KAYAN ◈ 3D에서의 목표물 거리와 방향측정 아래 함수는 3D상의 (x1,y1,z1)에서 (x2,y2,z2)까지의 거리를 측정하여 값을 반환합니다. ◎ point_distance_3d(x1,y1,z1,x2,y2,z2) (▲ 거리 측정) var inst, ex, ey, ez; inst = instance_nearest(x, y, enemy); if !(inst==noone) { ex = inst.x; ey = inst.y; ez = inst.z; if point_distance_3d(x, y, z, ex, ey, ez) < 200 { instance_create_layer(x, y, "Bullets", obj_Missile) } } 예시는 가장 가까운 obj_enemy의 3D .. 2023. 7. 12. (♡ )