본문 바로가기

엔트리65

엔트리 액션 RPG 만들기 4.캐릭터 애니메이션 만들기와 캐릭터 만들기 팁 안녕하세요. 승승이입니다. 이번에는 캐릭터 애니메이션을 추가해봅니다. 먼저 캐릭터 애니메이션을 위한 그림을 그려야 하는데... 한가지 팁을 준다면, 구글에서 검색해서 적당한 캐릭터를 대고 그리는 방법을 사용하는 겁니다. 여기서 적당히 수정을 해서 자신의 캐릭터로 그릴 수 있습니다. 이렇게요.. 그러면 수많은 캐릭터를 찾을 수 있습니다. 그냥 쓰기에는 이미 남들이 만든 캐릭터라 애정도 적기도 하고, 자신만의 게임을 만든다는 취지가 약해지기도 해서... 조금 더 수정해서 자신의 캐릭터로 바꿔서 쓰기로 합니다. 제가 자주 사용하는 그림 그리는 프로그램은 '잉크스케이프'입니다. 무료 벡터 툴이기 때문에 자주 애용합니다. 이것보다 더 좋은 성능의 프로그램은 Adobe사의 일러스트레이터가 있겠네요. 대신 이건 비싼.. 2020. 4. 22.
엔트리 그리기 버그 발생 원인 및 고치는 방법 안녕하세요. 승승이입니다. 요즘 엔트리에서 발생하고 있는 '그리기'버그가 발생하는 조건과, 그것을 임시적이지만 고치는 방법에 대해서 간략하게 설명합니다. 현재 그리기 블록에 보시면 붓을 그리기 시작하고 멈추고, 지우는 블록이 있습니다. 그런데 어느 조건에 처하면 그리기는 지우기가 되지 않는 버그가 현재 발생하고 있습니다. 일단 정상적인 동작을 확인해 봅니다. 만약 선분 하나를 그려보겠습니다. 바로 (0,0)에서 마우스까지의 선을 계속해서 그리는 겁니다. 선분을 그려주지만 이전에 그렸던 선분은 그대로 있습니다. 그래서 이걸 지우고 다시 그려주기 위해서 '모든 붓 지우기'블록을 사용합니다. 이렇게 만들어 주면 아래와 같이 동작합니다. 여기까지는 문제없이 동작합니다. 그러나 선분이 1개가 아닌 2개라면 어떻게.. 2020. 4. 21.
엔트리 액션 RPG 만들기 3.장애물 인식하기, 맵 저장하기 안녕하세요. 승승이입니다. 지난 시간에는 맵을 배치하는 기본적인 기능을 넣었습니다. 이번에는 맵을 배치하는 기능을 조금 더 추가 수정하여 장애물을 인식하고 맵 저장하는 기능을 만듭니다. 일단 캐릭터 오브젝트에 보시면 이동하는 코딩을 해 놓았을 겁니다. 현재 이 상태에 있는데, 키보드를 누르면 좌표를 움직이는 단순 구조입니다. 여기에 조금 더 추가해서 블럭을 인식해서, 블럭이 있는 곳은 가지 못하도록 하는 것입니다. 인식의 방법은 여러가지가 있지만 여기서는 '좌표'에 따른 '번호'를 가지고 인식하기로 합니다. 맵의 모든 픽셀을 가지고 계산하는 것이 아니라, 현재 위치에 해당되는 번호를 인식하는 겁니다. 즉 화면의 좌표 대신 위와 같은 1차원 배열의 표로 나누었다고 보시면 됩니다 ^^ 캐릭터의 위치값은 30.. 2020. 4. 20.
엔트리 액션 RPG 만들기 2. 맵 블럭 배치 기능 만들기 안녕하세요. 승승이입니다. 이번에는 지난 시간에 이어서 맵 블럭을 배치하는 기능을 만들어 봅니다. 이번 프로젝트는 게임 내에서 맵을 직접 제작하는 기능을 포함시킵니다. 이렇게 만드는 것이 조금 귀찮은 일이기도 하지만 잘 만들어 놓으면 게임을 쉽게 추가해서 만들 수 있습니다. 스토리와 대화같은것도 추가하는 기능까지 넣으면 금상첨화인데... 이것도 넣을지는 모르겠네요 ㅋㅋ 일단 맵을 만든는 기능을 위한 첫 단계로, 맵 블럭 배치 기능을 만듭니다. 사실 지난 첫번째 강좌에서는 마우스를 누르면 검은색 블럭을 놓을 수 있었습니다. 그러나 이 블럭은 그냥 이미지를 복제하여 넣은 것이기 때문에 타일 블럭이라고 볼 수 없겠죠. 이번에 만드는 기능은 이를 좀더 강화하여서 현재 배치되어 있는 블럭을 제거하거나 다시 넣는 .. 2020. 4. 18.
엔트리 액션 RPG 만들기 1.이동과 마우스 커서 만들기 안녕하세요. 승승이입니다. 요즘 만들고 있는 액션 RPG의 제작과정 및 설명을 작성합니다 ^^ 원래 게임과 유튜브를 먼저 다 만든 다음에 글을 쓰려고 했는데, 이걸 다 만들고 뒤늦게 블로그로 글을 쓰려고 하니까 뭐가 뭔지 기억이 잘 안나네요 ㅠㅠ 스크래치와 다르게 엔트리에서 계속해서 저장하면서 쓰면 또 사람들이 '복제'했다고 뭐라 하는 습성이... 왜냐하면 스크래치와 다르게 엔트리는 다른 사람의 프로젝트를 복제해서 만든건지, 자신의 프로젝트를 복제해서 하는건지 겉으로는 잘 모르기 때문입니다. 스크래치의 경우 자신의 프로젝트를 복제하는거랑 다른사람의 프로젝트를 참고해서 수정해서 한다던가(리믹스라는 용어를 씁니다.)구분이 되는데.... 그리고 그 리믹스를 하는 프로젝트가 따로 보여서 리믹스가 많이 되는 프로.. 2020. 4. 18.
엔트리 RPG 게임만들기5. 캐릭터 애니메이션 만들기2 안녕하세요. 승승이입니다. 이번에는 캐릭터 애니메이션을 이어서 추가하도록 하겠습니다. 이번에는 다양한 모션들을 추가합니다. 점프라던지 공격이라던지, 피격되는 등의 모션입니다. 모션들은 미리 준비되어야 있어야 하므로... 없으면 시간을 투자하셔서 그려주세요 ^^;; 저도 모션들을 다 창작해서 그리기는 힘들고, 이미 만들어져 있는 게임들을 트레이싱하면서 저만의 캐릭터로 바꿔서 그립니다. 추천 검색어는 'rpg maker sprite'입니다. 이걸 검색해서 고전 16bit게임 감성의 캐릭터들을 그리는데 유용할 것입니다. 저는 예전부터 만들어 왔던것들도 많아서... 그걸 이용해서 단숨에 넣어 그려보겠습니다. 여기서 이미지의 이름이 중요합니다. 공격이나 이동, 점프 등의 이름을 잘 지정해줍니다. 이제 애니메이션의.. 2020. 4. 18.
엔트리 RPG 게임만들기4. 캐릭터 애니메이션 만들기1 안녕하세요. 승승이입니다. 이번에는 캐릭터 애니메이션을 만들어 봅니다. 이번에는 캐릭터 애니메이션을 추가합니다. 캐릭터 애니메이션을 추가하는데 기존에 만들었던 캐릭터는 투명하게 하고 캐릭터를 위에 덧 씌우는 작업을 합니다. 그래서 기존의 엔트리봇은 투명하게 해주고, 새로운 스프라이트를 만들어서 캐릭터 애니메이션으로 만들어 줍니다. 이 녀석은 사람이 움직이는 엔트리봇을 따라다니면서 모양을 바꿉니다. 그래서 실체는 엔트리봇이지만, 그 위에 모양만 바꿔서 따라다니는 녀석이 '애니메이션'이 됩니다. 스프라이트를 2개 쓰는 낭비하는 모양인거 같지만 이렇게 하는 이유가 있는데요... 예를들어 '~에 닿는다면'이라는 블록을 쓸 때 매우 유리합니다. 모양이 복잡하면 ~에 닿는가를 쓰면 렉을 유발하기 때문입니다. 그 외.. 2020. 4. 18.
엔트리 RPG 게임만들기3. 점프와 중력 만들기 안녕하세요. 승승이입니다. 이번에는 지난 시간에 이어서 점프와 중력을 만들어 봅니다. 먼저 중력이란 것에 대해서 약간 이해를 해야 합니다. 중력은 2개의 질량을 가진 물체가 서로 끌어당기는 힘을 말합니다. 그러나 보통은 질량은 너무 작아서 서로 힘을 거의 못느낍니다. 다만 우리 주변 사물에 비해 매우 큰 질량인 지구는 다른 물체들을 끌어당기기에 충분한 힘을 가집니다. 여기서 중력은 서로의 질량에 비례해서 작용이 되는데, 가속도는 질량에 반비례하게 되므로, 지면 위에서의 중력가속도는 모두 똑같이 적용됩니다. 중력 가속도는 9.8m/s^2이라고 쓸 수 있는데, 뒤의 단위를 보시면 9.8m/s/s로 다시 쓸 수 있습니다. 즉, 9.8m/s의 속도를 1초동안 가속하는 것과 같습니다. 우리가 게임에서 '중력'을 .. 2020. 4. 14.
엔트리 RPG 게임만들기2. 장애물을 인식시키는 방법 이번에는 장애물을 인식하는 방법입니다. 장애물이라는 것은 벽이나 땅을 의미합니다. 여러가지 방법이 있지만 기본적인 게임만들기 이기 때문에 렉이 다소 발생하지만 만들기 쉬운 '스프라이트 인식'으로 하겠습니다. 나중에 조금 더 고급적인 방법으로, 좌표로 인식하는 것을 만들 예정입니다. (이 경우 렉이 거의 없고 매우 최적) 먼저 장애물 오브젝트를 만듭니다. 적당히 그려줍니다. 여기서 한가지 주의해야 할 점은 '두께'입니다. 두께가 너무 얇으면 벽을 인식할 수 없을지도 모릅니다. 캐릭터의 최대 이동속도를 생각하여 만들어 주는 것이 좋습니다. 이 장애물은 인식하는 것은 속도만큼 이동 한 후에 닿았는지 확인하는 것이기 때문에 캐릭터가 너무 빠른 나머지 벽을 넘어가버리면 안되기 때문입니다. 캐릭터의 크기와 속도에 .. 2019. 12. 11.
엔트리기초강좌3. 엔트리 시작 블록 설명 안녕하세요. 이번에는 엔트리 시작 블록에 대해서 설명하도록 하겠습니다. 시작은 블록의 맨 처음에 들어가게 됩니다. 시작은 다른 언어에서는 '이벤트'와 동일한 것입니다. 어떤 상황이 발생하였을 때 무조건적으로 실행되는 것이죠. 이때 무조건적이라는 것은 프로그램이 돌고 있을 때 끼어드는 행위를 묘사한 말입니다. 즉, 어떤 프로그램이 순서대로 돌고 있을 때 순서를 무시하고 실행된다는 점입니다. 그렇기 때문에 가급적이면 시작하기 이외의 블록들은 사용하지 않는 것이 가장 좋습니다. 왜냐하면 프로그램의 순서가 꼬이기 때문입니다. 프로그램에서는 순서라는 것이 중요하거든요. 코딩의 초보자들이 흔히 하는 실수는 바로 이벤트 남발인데... 순서대로 실행하도록 하려면 무한 루프 안의 조건을 넣어 실행하는 것으로 만드는게 가.. 2019. 12. 10.