본문 바로가기

엔트리게임만들기8

엔트리 액션 RPG 만들기11.5 버그 수정(제작모드와 연계 추가 코딩) 몬스터 애니메이션을 추가한 뒤로 버그를 일부 수정이 필요하여 추가 포스팅을 합니다. 아마 유튜브 영상으로는 빠져 있는 내용입니다. 이 프로젝트에서는 게임 내에서 몬스터와 맵 타일을 배치하는 기능을 가지고 있습니다. 여기서 몬스터 애니메이션과 몬스터 배치와의 연계를 빠져버렸는데... 유튜브에서 이걸 고친다고 영상을 찍으면 시간이 걸릴게 분명하기에... 왜냐면 처음 해보는 것이라서 과연 잘 고쳐질지 이것저것 건들여야 하는거라 영상찍으면서 말을 하면서 하면 입도 아프고 시간도 더 걸리거든요 ㅠㅠ 그래서 고친 다음에 고친 내용을 따로 블로그에 정리해서 올립니다. 주요 고치는 곳은 '몬스터배치' 오브젝트입니다. 기존에는 몬스터를 배치한 만큼만 복제를 하였는데, 로딩바가 추가됨으로써 그냥 모든 맵에 배치를 하기로 .. 2020. 5. 13.
엔트리 액션 RPG 만들기 9. 몬스터 이동, 장애물 판정 안녕하세요. 이번에는 몬스터의 이동과 장애물 판정을 추가합니다. 몬스터가 지형을 인식하고 움직이도록 하는 것이 이번의 목표입니다. 먼저 몬스터 오브젝트에서 코딩에서 추가로 수정합니다. 코딩이 좀 기네요.. ㅠㅠ 엔트리에 '함수'기능에서 지역변수가 제대로 보인다면 이쁘게 만들 수 있는데 엔트리는 그러하지 못해서... 좀 지저분하게 나열할 수 밖에 없네요. 아래가 좀 잘렸는데 밑에서 다시 설명하겠습니다. 이 부분의 코딩은 크게 2가지로 나눌 수 있습니다. 일단 @몬스터이동 이라는 변수를 만드는데 이것은 몬스터가 이동할때 명령어로 쓰는 변수입니다. 캐릭터는 유저의 키보드 입력에 따라 움직인다면, 몬스터는 각각의 명령어 변수값에 따라 움직입니다. 나중에 인공지능을 추가하거나 할 때 이 변수값을 순서대로 어떻게 .. 2020. 5. 12.
초간단 오목 만들기 (2차원 배열 데이터 활용) 안녕하세요. 승승이입니다. 이번에는 오목 게임을 정말 간단하고 최소한? 의 코드로 만들어 봅니다. 2차원 배열을 활용하여 더욱 쉽고 간단한 오목게임을 만드는 방법을 소개합니다. 사용하는 오브젝트는 2개입니다. 하나는 현재 상태를 알려주는 문자이고, 두번째는 오목판과 돌을 나타내는 오브젝트입니다. 먼저 문자열을 코딩해봅니다. 상태와 턴에 따라서 차례와 기다림을 만든 상태입니다. 여기서 변수 하나로 통일해도 되는데 그냥 이해하기 쉽게 '상태'와 '턴'으로 2개로 했습니다. 상태가 0이면 바둑판을 만들고 있으며, 1이면 돌을 넣을 수 있는 ㅅ아태, 2이면 점수 계산중입니다. 3와 4가 되면 승리를 확인합니다. 다음은 바둑판과 바둑돌이 되는 오브젝트를 코딩합니다. 여기서 2차원 배열을 만들어 주어야 하는데요, .. 2020. 5. 9.
엔트리 간단한 중력 물리엔진 구현하기 안녕하세요. 승승이입니다. 물리엔진에서 간단한 물리엔진을 구현해 봅니다. 먼저 코딩하기 전에 앞서서 2가지를 만들어 봅니다. 플레이어는 반드시 '사각형'의 모양으로 그려주세요. 다음은 지형입니다. 장애물로 인식할 부분을 선으로 그려주시고, 나머지 캐릭터가 지나갈 자리는 투명색으로 해줍니다. 이제 플레이어에 코딩을 해줍니다. 이렇게 해주면 됩니다. 위의 코드를 부분으로 나눠보겠습니다. 키보드를 누르면 키보드 값에 따라서 속도를 변합니다. 단, 점프의 경우 1회로 제한하기 위해 점프 변수의 조건이 있습니다. 그 아래에는 '중력'이 있습니다. y속도를 -1씩 더하게 되는데, -20까지를 제한을 둔 상태입니다. 너무 빨리 떨어지면 지형을 뚫어버릴 수 있기 때문에 적당한 선에서 제한을 해줘야 합니다. 마지막으로 .. 2020. 4. 28.
엔트리 액션 RPG 만들기 7.체력바 만들기 안녕하세요. 승승이입니다. 이번에는 체력바를 추가합니다. 엔트리에서 흔히 체력바를 만드는 방법으로는 '그리기'를 사용하는 방법이 있습니다. 붓으로 그리는 방법으로 체력바를 만드는 것은 스크래치에서는 힘든 일입니다. 왜냐하면 스크래치에서 그리기 레이어는 항상 맨 아래에 있기 때문에 체력바가 오브젝트에 의해 가려지기 때문입니다. 그러나 엔트리는 그리기를 하면 해당 오브젝트와 동일한 레이어에서 그리며, 그리는 것을 지우는 것도 오브젝트마다 제어가 되므로 체력바를 그리는데 어려운 일이 아닙니다. 그러나 저는 그리기 대신 '이미지'를 바꾸는 방법으로 만들기로 합니다. 먼저 체력바 오브젝트를 추가합니다. 살짝 귀찮은 일이지만 체력바에 해당되는 이미지를 하나하나 넣어줍니다. 약간의 옵션? 으로 체력바에 그라데이션을 .. 2020. 4. 27.
엔트리 액션 RPG 만들기 2. 맵 블럭 배치 기능 만들기 안녕하세요. 승승이입니다. 이번에는 지난 시간에 이어서 맵 블럭을 배치하는 기능을 만들어 봅니다. 이번 프로젝트는 게임 내에서 맵을 직접 제작하는 기능을 포함시킵니다. 이렇게 만드는 것이 조금 귀찮은 일이기도 하지만 잘 만들어 놓으면 게임을 쉽게 추가해서 만들 수 있습니다. 스토리와 대화같은것도 추가하는 기능까지 넣으면 금상첨화인데... 이것도 넣을지는 모르겠네요 ㅋㅋ 일단 맵을 만든는 기능을 위한 첫 단계로, 맵 블럭 배치 기능을 만듭니다. 사실 지난 첫번째 강좌에서는 마우스를 누르면 검은색 블럭을 놓을 수 있었습니다. 그러나 이 블럭은 그냥 이미지를 복제하여 넣은 것이기 때문에 타일 블럭이라고 볼 수 없겠죠. 이번에 만드는 기능은 이를 좀더 강화하여서 현재 배치되어 있는 블럭을 제거하거나 다시 넣는 .. 2020. 4. 18.
엔트리 액션 RPG 만들기 1.이동과 마우스 커서 만들기 안녕하세요. 승승이입니다. 요즘 만들고 있는 액션 RPG의 제작과정 및 설명을 작성합니다 ^^ 원래 게임과 유튜브를 먼저 다 만든 다음에 글을 쓰려고 했는데, 이걸 다 만들고 뒤늦게 블로그로 글을 쓰려고 하니까 뭐가 뭔지 기억이 잘 안나네요 ㅠㅠ 스크래치와 다르게 엔트리에서 계속해서 저장하면서 쓰면 또 사람들이 '복제'했다고 뭐라 하는 습성이... 왜냐하면 스크래치와 다르게 엔트리는 다른 사람의 프로젝트를 복제해서 만든건지, 자신의 프로젝트를 복제해서 하는건지 겉으로는 잘 모르기 때문입니다. 스크래치의 경우 자신의 프로젝트를 복제하는거랑 다른사람의 프로젝트를 참고해서 수정해서 한다던가(리믹스라는 용어를 씁니다.)구분이 되는데.... 그리고 그 리믹스를 하는 프로젝트가 따로 보여서 리믹스가 많이 되는 프로.. 2020. 4. 18.
엔트리기초강좌2. 엔트리 화면 설명 안녕하세요. 엔트리 기초강좌 2번째 글입니다. 이번에는 엔트리의 화면에 대해서 설명합니다. 엔트리를 제작하면 위와 같은 창이 뜹니다. 엔트리는 다른 프로그래밍 언어와 다르게 블록으로 코딩합니다. 스크래치와 유사한 화면입니다만 다른점도 몇개 있습니다. 각 창에 대한 설명은 다음과 같습니다. 1. 프로젝트 이름: 프로젝트 이름을 정합니다. 2. 장면: 장면을 선택합니다. (스테이나 배경, 이벤트로 활용 가능함) 3. 플레이 화면: 플레이를 하였을 때의 화면입니다. 해상도는 480x270입니다. 4. 오브젠트 추가하기: 코딩으로 동작 시킬 객체를 말합니다. (스프라이트) 5. 플레이하기: 프로젝트를 플레이 합니다. 6. 오브젝트 및 속성: 오브젝트를 선택하거나 속성을 수정합니다. 7. 탭: 블록, 모양, 소리.. 2019. 12. 8.