반응형

게임제작/소스코드 14

[게임메이커스튜디오2]8방향 스프라이트 이동 마우스 클릭만들기

게임메이커 스튜디오에서 8방향의 움직임과 마우스를 클릭했을 때 클릭 앤 무브를 구현하는 방법에 대해서 자료를 찾아보았지만 대부분의 코드들이 마우스 클릭 + 8방향 이동이 아닌 키보드로 조작을 했을때 스프라이트의 변경과 이동에 대해서만 다루었기에 제작한 방식을 공유하며 설명을 할까 합니다. [준비물] (1) 8방향을 표시할 8방향의 이미지 (2) 끝 코드의 구조설명 대부분의 코드는 플레이어라는 오브젝트가 주관하도록 설계되어 있습니다. 첫 번째로 obj_player라는 오브젝트를 만든 후 크리에이트 코드를 작성합니다. [Create Event] 이 부분의 내용은 마우스 좌표를 리셋하기 위해서 enum을 썼으며 초록색으로 된 글자는 게임메이커 스튜디오2의 기본 함수이므로 딱히 설명이 필요한 부분은 없어 보입니..

[소스코드]주가 및 가격변동 알고리즘 구현

물가 혹은 가격의 변동값을 계산해주는 알고리즘이 없을까...찾던 중 딱히 정론이 없는 것 같고 알고리즘을 알려주는 곳이 없어 직접 아무렇게나 게임메이커 스튜디오2로 코딩을 해보았고 원하는 내용이 나왔기에 공개합니다. 프로그래밍을 잘하는 사람이 아닌 그냥 일반인이기 때문에 너무 알고리즘을 신뢰하진 마시고 이 사람은 이런식으로 해결했구나 하고 생각해 주셨으면 합니다. 1. 우선 실행될 오브젝트를 생성합니다. 2. 룸에 만든 오브젝트를 배치. 3. 업다운용 이미지 파일을 준비. 이미지 파일안에 두가지 업/다운 이미지를 넣어서 이미지 인덱스값으로 변경할 예정이므로 위와 같이 준비합니다. [크리에이트 이벤트] randomize(); coin = irandom_range(10,300); type = 0; next_..

[게임메이커]키보드 선택메뉴 혹은 선택지 작업방식

게임메이커 스튜디오에서 메뉴작업 게임메이커에서 타이틀 메뉴 혹은 선택분기등 다양하게 글 메뉴를 선택해야 하는경우가 있는데 가장 쉬운 방식은 이미지를 메뉴만큼 프레임으로 만든후 image_index 를 활용하여 작업하는 것이 편리하지만 만약 이런 작업들이 많을 경우에는 리소스를 많이 먹고 불필요한 용량을 늘리는 원인이 되기도 합니다. 그래서 되도록 코드로 작업하는 것이 필요하며 간단한 코드 작성으로 다양한 활용이 가능합니다. 크리에이트 이벤트 ///@desc Create Event x = room_width/2; y = room_height/2; menu_x = x; menu_y = y; button_h = 32; //buttons button[0] = "New Game"; button[1] = "Cont..

[게임메이커]키보드로 이동하여 선택하는 이름입력 만들기

#키보드 조작 #이름 입력기 게임메이커 스튜디오2로 이름입력 만들기 콘솔 게임에서 자주 등장하는 방식의 이름입력기는 사실 상당히 쉽지만 알고리즘을 모르면 대체 어떻게 해야 할지 막막합니다. 오늘은 오래전에 만들다가 포기한(...) 게임 중 이름 입력기 부분에 대해서만 따로 정리하여 소스코드를 설명할까 합니다. 소스코드 카테고리는 초보자를 위한 공간이 아니기에 이해가 가지 않는다면 게임메이커 스튜디오에 관한 다른 글을 먼저 읽어주시기 바랍니다. 1.스프라이트 폰트와 커서 만들어놓기 2.Obj_name_keyboard 이제 게임메이커 스튜디오에서 오브젝트 폴더에 위와같은 원하는 이름으로 오브젝트를 생성합니다. [크리에이트 이벤트] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1..

[게임메이커]HTML HEX컬러값을 게임메이커에서도 쓸수 있게 하기

#HEX color값 #게임메이커 스튜디오 #편함 #게임메이커 스튜디오 #게임메이커 스튜디오2 다됨 RGB 순의 HEX값을 게임메이커 스튜디오에서도 사용하기 우선 이게 뭔 소리인가 하는 분들을 위해서 간단히 설명을 하자면, 보통 우리가 알고 있는 빛의 삼원색인 Red, Green, Blue 로 색을 결정하며 보통 포토샵이나 HTML같은 곳에서 컬러값을 HEX코드로 쉽게 사용할 수 있게 되어 있습니다. #FFFFFF 이런식으로 말이죠. 그런데 게임메이커 스튜디오 시리즈에서는 이상하게 순서가 Blue, Green , Red 로 되어있고 별거 아니지만 왠지 귀찮습니다. 보통 게임메이커 스튜디오에서 색상지정 draw_set_color(c_white) 이런 형태로 지정된 색상만을 골라서 써야 합니다. 하지만 게임..

[게임메이커]파티클을 코딩없이 유용하게 제작해주는 툴

#게임메이커 스튜디오 #게임메이커 파티클 #파티클 디자이너 게임메이커 스튜디오 파티클을 쉽게 제작하자! Lithium Particle Designer 상당히 오래전부터 쓰고 있었던 파티클 제작 프로그램으로 '게임메이커' 전용으로 사용할 수 있다보니 편리하고 파티클 관련 코딩을 해주지 않아도 제작된 파티클을 코드로 쓸 수 있다는 점이 이 툴의 가장 큰 장점입니다.우선 오래전에 해외 사이트에서 다운받고 이후 잊고 있었다보니... 죄송스럽게도 제작자 이름을 까먹었습니다.(제보바랍니다) 사용방법에 대한 팁 이펙트에 대한 툴에 어느정도 익숙하거나 여러가지 툴들을 썼던 사람에게는 익숙한 부분들이지만이쪽에 관련된 지식이나 경험이 전무한 분들은 툴 자체도 생소할 수 있습니다. 1. 메뉴의 Window 부분에 있는 내용..

[게임메이커]캐릭터 히트시 깜빡이는 점멸효과 간단하게 만들기

#점멸효과 #캐릭터 깜빡이게 #무적시간 #게임메이커 캐릭터 히트시 무적타임을 적용하여 깜빡이게 만들기 게임을 만들다보면 캐릭터가 적에게 히트되어 깜빡이며 잠시 무적시간을 갖는 효과를 만들어야 할 상황이 언젠가는 오게 됩니다. 무적 시간 동안에 플레이어의 캐릭터를 깜빡이면서 적정 시간이 되면 다시 원래 상태로 돌아오는 시스템을 좀더 세련되게 만든 사람이 없을까 찾던 중... 오히려 이미지를 활용하여 비효율적으로 작업을 해두었기에 그럴거면 제가 짠 코드를 쓰는것이 낫겠다 싶어 공유하며, 코딩을 어느정도 하는 사람들이 이 소스 코드를 보고 그냥 웃고 넘어가 주셨으면 합니다(....) ※ 당연하지만 초보들은 모를수 있기에 적어두자면, 무적 시간동안 히트판정을 없애면 무적이되고 이 코드는 무적시간을 시각화 했을때..

[게임메이커]멀티랭귀지 지원하기! 국가코드 얻어오는 명령어

#국가코드 #게임메이커 #멀티랭귀지 게임메이커 멀티랭귀지 지원하기 멀티 랭귀지를 지원하기 위해서는 각 플랫폼의 국가 코드를 얻어오는 것을 시작하여야 하지만, 게임메이커 스튜디오에서는 기본적으로 각각의 OS의 랭귀지를 얻어오는 것이 가능합니다. 초기 create코드 혹은 게임시작시에 넣어주어도 되며 각 제작자들이 어떤형태로 구조를 만들지에 따라 달라지겠지만 기본적으로 switch문을 사용하여 코드를 얻고, 그 이후에 대사 파일을 불러오게 할지 아니면 글로벌 변수로 코드마다 국가코드에 대한 명칭을 바꿔줄지는 자유에 맡기겠습니다. 명령어로는 os_get_language() 이며 사용법은 예시로 아래와 같습니다. 12345678910111213141516///get nation codeswitch(os_get_..

[게임메이커]탄막 슈팅의 알고리즘 원형 탄막소스

#탄막 슈팅 게임 소스 #탄막 원형 소스 탄막 원형 타입 발사체 만들기 과거에도 탄막 원형으로 발사체를 뿌리는 것에 대한 소스를 공개해달라는 요청을 받은적이 있었는데, 오래전 소스를 찾아보니 과거 게임만들기 카페에서 누군가 올리셨던 스크립트를 사용하여 테스트해본 소스가 있어 공개합니다. (기억이 안나기 때문에...혹시 코드를 보시고 스크립트 원작자가 이 글을 보신다면 알려주시면 감사하겠습니다) 핵심 소스 코드 먼저 게임메이커에서 스크립트를 작성하여 위와 같이 작성을 합니다. 기본적으로 방향, 스피드, 생성 앵글등을 위한 스크립트이며 repeat를 통해서 반복적으로 생성하는 패턴의 내용입니다. 발사체를 발사할 오브젝트의 설정 time=30;x=room_width/2; 생성 이벤트에서 time=30 은 어느..

[게임메이커]당구게임이나 컬링같은 충돌물리 게임소스

#충돌물리 #당구게임 #컬링 #게임강좌 당구 게임같은 충돌 물리 게임을 만들자(난이도 중상급이상) (그저...겨우 움직일뿐) 처음 강좌와 함께 소스코드 분석을 도울까 생각했지만... 사실 이 부분은 사람에 따라 아직 1도 이해하기 어려운 코드들이 들어있기에 코딩을 하는 방법부터 알려줘야 하고 너무나 방대한 분량을 아무런 대가도 없이 알려줄 만큼 그렇게 여유있고 윤택한 생활을 하는 사람도 아니기에 그냥 이미지 리소스 부터 코드까지 소스코드를 공개하며 썰을 풀어보려고 합니다. 액션으로 충돌물리가 가능? - 게임메이커에는 액션이라는 것이 있는데 이 액션으로 물리를 구현한다? 실제로 진짜 물리가 적용되어 가능하다면 그 실력으로 이제는 액션은 그만하고 코딩을 해야합니다. 차후 소스코드를 열어보면 알겠지만 이렇게 ..

[게임메이커]고정 GUI버튼 만들기에 대해서

#게임메이커 GUI 버튼게임을 제작할때 플레이어가 이동시 GUI가 고정되지 않고, 움직이는 현상이 벌어지는데 Draw GUI로 보통 처리가 가능하며 어떤식으로 작동하는지에 대해 샘플을 보여주기 위해 포스팅 되었습니다.게임메이커 스튜디오 1.4 버젼 이상에서 작동하며 윈도우용으로 설명합니다. 게임메이커 스튜디오 GUI버튼 만들기 (위 예제는 다른 플랫폼을 테스트 하면서 제작된 스샷이므로 아래의 코드를 참조 바랍니다) 먼저 gui를 콘트롤 할 시스템용 오브젝트를 만듭니다. 그곳에 크리에이트 이벤트로 전체 스케일을 구하는 코드 -저는 obj_gui_setting 이라는 오브젝트를 작성하였고 이벤트 코드들은 아래와 같습니다.[Create]global.display_scale = display_get_gui_wi..

[게임메이커]게임메이커 스튜디오 게임패드 사용하기

게임메이커에서 게임패드를 사용하기 위해서는 어떤 함수를 써야 할지 영어를 잘 모르는 사람에겐 함수 설명들이 무의미 합니다.심지어 게임메이커 스튜디오에서 F1 도움말을 눌러 검색해보면 수많은 명령어가 나오고 그저 움직이고 버튼을 눌러 총알을 써보거나 점프한번 해보고 싶을뿐인데 괴로운 마음이 많이 들죠. 어차피 우리가 알고 싶은 것은 움직이고 버튼 누르는 것이기 때문에 , 많은 함수들중 핵심적인 것 몇가지만 예제 코드를 작성하여 도움을 드리고자 포스팅을 시작하겠습니다. 1. gamepad_axis_value 먼저 움직이기 위해서 필요한 조이스틱을 제어하는 함수입니다. Objects 폴더에서 제어를 할 오브젝트를 먼저 만들고 create event에서 초기화를 시켜줍니다.이후 , Step 이벤트에서 아래와 같..

[게임메이커]2D카메라 기법 줌인 줌아웃

#게임메이커 2D 게임에서도 카메라를 따로 세팅을 하면 여러가지 효과를 줄 수 있습니다. 캐릭터 보다 늦게 따라가게 하거나 특정 위치에 있으면 줌인 , 줌아웃 같은 기능들이 들어간 게임들을 볼 수 있는데, 간단하게 구현해 보았습니다. obj_2dcamera 먼저 게임메이커에서 오브젝트를 하나 생성하여 obj_2dcamera 라는 이름으로 생성을 해주었습니다.(이름은 상관없음) 오브젝트를 더블클릭하여 Add Event 버튼을 눌러 Create 이벤트를 생성하고 변수를 설정합니다. camera_spd 는 카메라가 움직이는 속도를 제어하기 위해서 생성한 변수 이고 x,y좌표의 경우는 최초 플레이어의 좌표로 처음 생성될 때 찾아가기 위한 설정이므로 반드시 필요한 변수는 아닙니다. 주의!! : obj_player..

[게임메이커]3D배경에 2D이미지 구현방법

3D 카메라 2D스프라이트 구현하기 게임메이커 스튜디오에서 3D 활용은 가능하지만, 실력적으로 퍼포먼스 있게 구현할 자신이 없었기에 어느정도 수준까지 만들 수 있을까 시험하기 위해 이 코드를 작성해 보았습니다. 준비물2D 스프라이트 이미지 텍스쳐로 쓸 바닥 텍스쳐 이미지 플레이어의 오브젝트 생성 카메라 오브젝트 생성 설정 텍스쳐 바닥으로 쓸 이미지의 경우에만 3D로 사용할 예정이기에 텍스쳐를 불러온 뒤 이름을 tex_grass라고 이름 지었습니다. 그 후, 텍스쳐 설정에서 Use as title set 과 Used for 3d에 체크 오브젝트 생성 obj_player 오브젝트를 오브젝트 폴더에서 생성합니다.obj_camera 오브젝트를 오브젝트 폴더에서 생성합니다.이름을 바꾸려면 아래의 코드에서 같은 이..

반응형
人気ブログランキングでフォロー