티스토리 뷰

 

파이썬 게임 만들기 7탄, 장애물 이동하기

 

 

 

파이썬 게임만들기 pygame 1탄

파이썬 게임만들기 2탄 배경넣기

파이썬 게임만들기 3탄, 캐릭터 움직이기

파이썬 게임만들기 4탄, 충돌처리하기

파이썬 게임만들기 5탄, 게임 기본 프레임만들기

파이썬 게임만들기 6탄, 무기 만드는 방법

파이썬 게임만들기 7탄, 장애물 이동하기

파이썬 게임만들기 8탄, 무기와 장애물의 충돌처리

파이썬 게임만들기 9탄, 종료하기

충돌처리 : 공과 캐릭터, 공과 무기와의 충돌 

 

 

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 브레이크 문으로 탈출