앨런 AI에서 코딩 게임 해보기! | 에피소드 3: 스코어링, 충돌 등등!

Find AI Tools
No difficulty
No complicated process
Find ai tools

앨런 AI에서 코딩 게임 해보기! | 에피소드 3: 스코어링, 충돌 등등!

딱딱한 일정보 - Episode 3

내용

  • 마이크 볼륨 조정
  • 적 캐릭터 속도 조정
  • 스코어 함수 작성
  • 타이머 함수 작성
  • UI 함수 작성
  • 충돌 검사 함수 작성
  • 라이브 표시 함수 작성
  • 게임 시작 함수 작성
  • 게임 리셋 함수 작성

마이크 볼륨 조정

마이크 출력을 더 크게 조정하여 소리가 더욱 크게 들리도록 변경했습니다. 이전에 점프가 너무 느려서 잘 넘지 못했던 문제를 수정하기 위해 적 캐릭터의 속도를 -2로 조정했습니다.

스코어 함수

새로운 함수인 '스코어'를 작성하였습니다. 타이머 기능을 가지며 1초마다 1씩 스코어가 증가하도록 설정했습니다. 스코어를 저장하는 변수인 '온 스코어'를 0으로 초기화했습니다.

UI 함수

'UI'라는 새로운 함수를 작성하여 스코어를 화면에 표시합니다. 스코어를 텍스트로 화면 중앙에 굵게 표시하고, 스코어를 왼쪽으로 살짝 옮기기 위해 값을 3으로 나눠 설정했습니다. 높이는 캔버스 높이로 설정했습니다. 마지막으로 텍스트 크기를 조정하여 약간 작게 표시했습니다.

충돌 검사 함수

게임에서 충돌을 감지하기 위해 새로운 if 문을 추가합니다. 캐릭터의 x 좌표와 너비를 비교하여 적의 x 좌표 범위에 포함되는지 확인합니다. 마찬가지로 y 좌표도 비교하여 충돌 여부를 검사합니다. 충돌이 감지되면 라이프를 1 감소시키고, 적을 재설정합니다.

라이브 표시 함수

현재 남은 라이프를 텍스트로 화면에 표시합니다. 텍스트 크기는 50으로 설정하고, 위치는 30픽셀로 조정했습니다. 라이프는 점점 감소하며 충돌 시 줄어드는 것이 확인됩니다.

게임 시작 함수

게임 시작 시 모든 값을 초기화해주는 함수입니다. 캐릭터와 적의 위치를 초기화하고, 속도를 설정합니다. 스코어와 라이프를 초기값으로 설정합니다.

게임 리셋 함수

게임을 리셋할 때 호출되는 함수입니다. 캐릭터와 적의 값을 초기화하고, 스코어와 라이프를 리셋합니다.

마무리

다음 수업에서는 캐릭터, 적 및 AI를 추가해 게임을 완성하고자 합니다. 감사합니다.

문제 해결

스코어가 올바르게 증가하지 않는 문제

스코어 증가 함수를 호출하는 위치를 확인해보니, 반복문 안에 있어서 계속해서 호출되며 스코어가 계속 증가하는 문제가 발생했습니다. 게임 루프 함수 시작 부분에 스코어 증가 함수를 호출하는 부분을 이동하여 문제를 해결했습니다.

게임 리셋 후 바로 시작되는 문제

게임 리셋 함수에서 시작 변수를 0으로 재설정하지 않아 게임 리셋 후 바로 시작되는 문제가 발생했습니다. 게임 리셋 함수에서 시작 변수를 0으로 설정하도록 수정하여 문제를 해결했습니다.

충돌 감지가 제대로 이루어지지 않는 문제

충돌 감지 함수의 조건식에 오류가 있어 충돌이 일어나더라도 정상적으로 감지되지 않는 문제가 있었습니다. 조건식을 수정하여 정상적으로 충돌 감지가 이루어지도록 수정했습니다.

스코어와 라이프 텍스트가 겹쳐 표시되는 문제

스코어와 라이프 텍스트의 위치 조정이 제대로 되지 않아 겹쳐서 표시되는 문제가 있었습니다. 각 텍스트의 위치를 조정하여 겹치지 않도록 수정했습니다.

화면 크기 조절 시 이동이 원활하지 않는 문제

화면의 크기를 조정할 때 게임 객체들의 위치와 크기를 제대로 조절하지 않아 이동이 원활하지 않는 문제가 있었습니다. 객체들의 위치와 크기 조정 부분을 확인하여 수정했습니다.

게임 기능 개선 사항

  • 캐릭터와 적을 더욱 시각적으로 나타내기 위해 스프라이트 추가 예정
  • AI를 도입하여 적이 더 스마트하게 움직이는 기능 추가 예정

FAQ

Q: 점프 속도가 여전히 느린데, 어떻게 조정하면 좋을까요? A: 적 캐릭터의 속도를 음수로 변경하여 점프하기 쉽도록 할 수 있습니다. 다음 예제에서는 -2로 설정하였습니다. 필요에 따라 값을 조정해보세요.

Q: 충돌 감지 함수에서 사용하는 조건식을 이해하지 못했습니다. 조건식을 설명해주세요. A: 충돌 감지 함수의 조건식은 다음과 같습니다.

  • character.xenemy.x보다 작거나 같고, character.x + character.widthenemy.x보다 크거나 같은지 확인합니다.
  • 동시에 character.y + character.Heightenemy.y보다 크거나 같은지도 확인합니다. 즉, 캐릭터가 적의 범위 내에 위치하고 있는지를 검사하는 것입니다.

Q: 게임을 시작할 때 스코어와 라이프가 제대로 초기화되지 않습니다. 어떻게 해결해야 할까요? A: 게임 리셋 함수에서 라이프 변수를 초기화하는 코드를 추가해야 합니다. 시작 변수도 0으로 설정하여 스코어와 라이프가 초기화되도록 해야 합니다.

Q: 스코어와 라이프 텍스트가 겹쳐서 표시됩니다. 어떻게 수정해야 할까요? A: 각 텍스트의 위치 조정이 필요합니다. 텍스트의 위치를 적절히 조정하여 겹치지 않도록 수정해보세요.

Q: 화면 크기를 조절할 때 게임 객체들의 이동이 부자연스럽습니다. 어떻게 해결해야 할까요? A: 객체들의 위치 및 크기 조정이 적절하지 않아 발생하는 문제입니다. 객체들의 위치와 크기를 정확히 조정하여 이동이 자연스럽도록 수정해야 합니다.

Most people like

Are you spending too much time looking for ai tools?
App rating
4.9
AI Tools
100k+
Trusted Users
5000+
WHY YOU SHOULD CHOOSE TOOLIFY

TOOLIFY is the best ai tool source.