메뉴 건너뛰기

OBG

Programming

MoA
조회 수 488 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

이번엔 적을 없애는 단계이다. 드디어 게임 느낌 나는 작업을 하는 것이다.

코드부터 먼저 보자. 적이 성을 공격하는 코드 다음에 충돌 체크를 한다.

 

        #6.4.2.2 - 충돌 체크
        index1=0
        for bullet in arrows:
            bullrect=pygame.Rect(arrow.get_rect())
            bullrect.left=bullet[1]
            bullrect.top=bullet[2]
            if badrect.colliderect(bullrect):
                acc[0]+=1
                badguys.pop(index)
                arrows.pop(index1)
            index1+=1

간단하다. 화살들의 rect를 가져와서 충돌 검사 후 충돌이 되면 플레이어의 명중 횟수를 늘리고 적과 화살을 없애면 된다.

여기서 rect가 뭔지 궁금할 것이다. rect는 이미지의 상하좌우 좌표를 가지고 있는 정보이다. bullrect = pygame.Rect( arrow.get_rect() )를 하면 arrow의 rect를 가져온 후 이를 bullrect 에 저장한다. 충돌 체크를 하는 경우엔 rect끼리 colliderect함수를 통해 검사하면 된다. 즉, badrect.colliderect( bullrect )를 하면 badrect와 bullrect가 충돌했는지를 검사하는 것이다.

?
  • ?
    기모니머스 2014.04.11 13:02
    오오 신통방통한 기능이군요

  1. Programming 게시판 관련

  2. [농장게임 만들기] 8. HUD에 텍스트를 표시하자

  3. [농장게임 만들기] 9. 밀을 재배하자

  4. [번역]거대언어모델(LLM) 가이드

  5. [액션게임 만들기] 1. Street Pyghter 게임 소개

  6. [액션게임 만들기] 10. 캐릭터 기술 구현

  7. [액션게임 만들기] 2. 클래스 분석

  8. [액션게임 만들기] 3. 클래스 다이어그램 기초

  9. [액션게임 만들기] 4. 캐릭터 선택 화면

  10. [액션게임 만들기] 5. 장면 전환

  11. [액션게임 만들기] 6. 게임 화면 출력

  12. [액션게임 만들기] 7. 캐릭터 출력

  13. [액션게임 만들기] 8. 캐릭터 액션 구현 1

  14. [액션게임 만들기] 9. 캐릭터 액션 구현 2

  15. [첫게임 만들기] 1. 게임 소개 및 실습 준비

  16. [첫게임 만들기] 2. 배경 그리기, Bunny 움직이게 하기

  17. [첫게임 만들기] 3. Bunny를 회전시키자

  18. [첫게임 만들기] 4. 화살을 발사해보자

  19. [첫게임 만들기] 5. 적을 생성하자

  20. [첫게임 만들기] 6. 적을 해치우자

  21. [첫게임 만들기] 7. 게임 정보 표시

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15
위로