티스토리 뷰
파이썬 게임 만들기 7탄, 장애물 이동하기
충돌처리 : 공과 캐릭터, 공과 무기와의 충돌
147 캐릭터의 랙탱글 정보를 업데이트해준다.
충돌처리하기 위해서는 팩트 정보를 가져와 줘야 한다. 캐릭터의 랙트정보와 공의 팩트 정보를 가지고 와준다. 공은 여러 개가 될 수 있기 때문에 반복문으로 가지고 온다.
152 볼인덱스와 벨류 값을 이뉴 얼 레이션 해주고, 각각의 위치와 인덱스를 저장해준다.
158 공들(볼스)의 랙탱글 정보를 인덱스 마다 업데이트시켜준다.
163 공과 캐릭터의 충돌을 콜리 더 렉트로 확인해준다. 그리고 공과 충돌하면 러닝을 폴스로 바꾸어 게임을 끝낸다.
168 공과 무기의 충돌을 검사하기 위해서 웨펀스(리스트)의 이뉴 얼 레이션 해서 인덱스와 벨류 가지고 와주고 엑스 와이 좌표 값들 넣어준다. 무기는 리스트에 있는 것들과 공들을 하나씩다 해야 되니 무기들과 공들을 처리해줘야 해서 반복문을 하나 더 써준다.
웨펀스에는 0번째에 엑스 좌표 1번째에 와이 좌표 입력해줬었고 이를 업데이트해준다.
173 무기의 정보 업데이트를 해주고 업데이트를 해줘야 충돌 검사를 해줄 수 있다.
178 무기와 공의 충돌 체크를 한다 충돌한 인덱스를 리무브로 바꿔준다
177 우선 79 먼저 써주고 부딪친 볼과 무기는 인덱스 값을 바꾸어준다.
79 우선 사라질 무기와 공 없어지기 위한 변수를 2개를 추가할 것이다. 여기에 값이 들어가면 즉 인덱스가 들어가면 그 인덱스 값은 삭제를 해줄 것이다.
184 충돌이 발생하면 인덱값이 -1에서 위에서 바뀌었기 때문에 -1보다 크면 그 인덱스는 삭제하고 다시 -1로 바꿔준다. 즉 -1보다 큰 것은 부딪쳐서 인덱스 값으로 바뀐 것이다. 그래서 그 인덱스는 삭제해주는 것이다.
공 나누기
181 브레이크 문을 삭제하고 > 삭제 아님!!!!이프 문을 쓴다. 공이 사라지는 게 아니고 공이 분리되는 것이기 때문에 브레이크를 지워주고 그 아래에 문장을 써 내려가자 (브레이크 문은 아래 또 쓰니 삭제 안 하고 그냥 그 중간에 써도 됨.
183 가장 작은 크기의 공이 아니라면 다음 단계의 공으로 나누어주기
공의 인덱스가 3 이하면(가장 작은 공) 볼의 높이와 넓이를 볼 폭과 높이 변수에 저장해주고 즉 3 이상이면 그냥 사라진다. 3 이하일 때만 나누어진다.
189 스몰 볼 랙탱글 변수에 볼 인덱스+1 한 것의 랙탱글 정보를 넣어주고 즉 한 단계 더 작아진 콩의 크기를 가지고 온다는 것
스몰 볼 랙탱글 사이즈를 스몰 볼 폭 높이 변수에 저장해준다.
194 2개로 나눠진 볼을 추가하는데 우선은 왼쪽으로 튕겨나가는 볼에 관한 정리와
위치와 인덱스 이동 속도를 설정해준다.
빨강 공 위치에서 생성됨.
202 오른쪽으로 튕겨나가는 공에 대한 정보 입력. 투엑스만 +3으로 바꾸어주면 됨
211 브레이크 문으로 탈출
'코딩' 카테고리의 다른 글
[파이썬 tkinter 2탄] 사진 합치기 (0) | 2022.08.18 |
---|---|
[파이썬 tkinter] GUI 프로그램 만들기 1탄, 프레임, 버튼 (0) | 2022.08.18 |
파이썬 게임만들기 9탄, 종료하기 (0) | 2022.08.17 |
파이썬 게임만들기 7탄, 장애물 이동하기 (0) | 2022.08.15 |
파이썬 게임만들기 6탄, 무기 만드는 방법 (0) | 2022.08.14 |
파이썬 게임만들기 5탄, 게임 기본 프레임만들기 (0) | 2022.08.14 |
파이썬 게임만들기 4탄, 충돌처리하기 (0) | 2022.08.13 |