| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 마이클 이스터
- 퀴즈게임
- 타이핑 몬스터
- Stable diffusion
- pygame
- 연상호
- 운석피하기 게임
- pinta
- 작가의 루틴
- 네글자반전
- 상식의발견
- Gym
- 타자연습게임
- 사만다헤인즈
- comfyui
- openAI
- Ai
- 게임개발
- itch.io
- JavaScript
- html
- 언틸유어마인
- 시집
- 조예은
- 아무도 없는 숲속에서
- gymnasium
- 김중회
- 우분투
- frozen lake
- Python
- Today
- Total
목록Python (12)
스푸 기록 보관소
이번에는 에너지 표시, 플레이 타임 표시, 플레이 중에 획득한 보석 갯수 표시와Z키를 눌렀을 때 폭탄이 사용되면서 화면 내에 있는 모든 운석을 폭파시키는 기능을 구현해 보았다. 우선 에너지 표시부터 처리해보자.class Player(pygame.sprite.Sprite): def __init__(self, main, pos, sprites, missile_sprites): super().__init__() .. (중략) .. self.health = 8 self.total_health = 8 멤버변수 health 와 total_health를 추가한다. health 값을 8로 설정했다. 운석과 총 8번 부딪쳐도 죽지 않는다.total_h..
지난 포스트에서는 충돌 시점 파편이 터지는 효과를 넣었다. 이번 포스트는 여러 번 충돌 시체력(?)이 모두 떨어진 운석이 사라지면서 폭발하는 효과를 넣어보았다.폭발하는 효과를 넣으니 타격감이 조금 생긴 듯 한 기분이 든다.나중에 효과음까지 넣으면 좋을 듯 싶다. 충돌 시점 폭발효과는 원을 그리도록 했고아래 그림처럼 폭발하는 개체의중심으로부터 원이 무작위로 발생하도록 했다. 폭발하는 효과의 순서가 중요한데가장 큰 원은 회색으로 그리고그 위에 원은 빨간색과 노란색, 주황색이 무작위로 그려지도록 했다.당연히 회색 이외의 원은 크기가 좀 더 작아야한다.원의 위치도 매번 달라지도록 설정해준다. 폭팔 이후에 바로 사라지는게 아니라화면에 잔상이 남도록 투명도를 조절하여천천히 사라지도록 처리하면꽤 그럴싸한 폭발효과..
지난 포스트에서 개발된 충돌검사는실제로 충돌하는 부분이 아닌이미지의 공백 부분까지 확인해서 처리하기 때문에실제 화면에서 충돌하지 않았는데도 불구하고 충돌 처리가 되는 증상이 있었다.이번 포스트에서 올린 부분 내용은그 문제를 보완하고 중요한 충돌검사의 효율을 높이는 방법을 설명하겠다. Sweep And Prune 알고리즘SAP로 불리는 sweep and prune 알고리즘은 다수의 충돌 검사를 조금 더 효율적으로 처리해 준다.지난 포스트에서 사용할 rect collider의 경우에는 x축과 y을 모두 검사하는 방식이라면SAP의 경우는 x축만을 이용하여 검사를 한다.아래 그림 처럼 운석과 기체의 위치가 있다고 가정해 보자.지난 번 로직은 지금 화면에 있는 모든 사물의 충돌 검사를 위치와 관계없이 처리하는데 ..
지난 시간에 생성한 다양한 운석 덩어리들이 화면에 나오도록 처리했다.위에서 보듯 다양한 사이즈의 돌이 회전하면서 움직이고 있다.처음에 아무런 움직임없이 그냥 이동만 하는 것보다는 자연스럽다는 걸 알 수 있을 것이다. 우선 지난 번 코드 중에 실수한 부분부터 짚고 가겠다. def dispose(self): # 화면 밖으로 벗어나게 되면 객체를 삭제, memory leak 방지 if self.rect.x + self.rect.width + env.MARGIN = env.WIDTH: self.kill() elif self.rect.y + self.rect.height + env.MARGIN = env.HEIGHT: self.ki..
