배경화면, BGM, 효과음 추가 하기이번 단계에서는 기존 벽돌깨기 게임에 배경화면과 사운드 기능을 추가한다. 지금까지의 게임은 검은색 배경 위에 벽돌, 공, 패들만 출력되는 단순한 형태였다. 여기에 배경 이미지를 넣으면 게임 화면이 더 완성도 있게 보이고, BGM과 효과음을 추가하면 사용자가 게임 상황을 더 생생하게 느낄 수 있다.추가 기능의 핵심은 다음과 같다.배경화면 → render()에서 가장 먼저 출력BGM → init()에서 불러오고 반복 재생효과음 → update_game()에서 사건이 발생할 때 재생우선, 파일은 다음처럼 준비하면 된다.asset/background.pngasset/bgm.mp3asset/hit.wavasset/paddle.wavasset/miss.wavasset/game_o..
3. 충돌(탄성)이번 3절은 충돌을 다루는 장이다.여기서 충돌은 게임 속 물체가 화면 벽이나 다른 물체에 닿았는지 판단하고, 그 결과를 처리하는 것을 의미한다. 예를 들어 공이 벽에 닿으면 튕겨 나가고, 캐릭터가 적과 닿으면 생명이 줄어들 수 있다.벽돌 게임에서는 공이 벽돌에 닿으면 벽돌이 사라지고 점수가 올라간다.실습의 목표마우스 클릭→ 공 생성→ 공 이동→ 벽과 충돌→ 속도 방향 반전→ 탄성 계수 적용→ 다시 튕김 게임 업데이트: 화면 창과 충돌 처리게임 업데이트화면 창과 충돌 처리공이 움직이다가 화면의 벽에 닿으면 그냥 밖으로 나가면 안 된다. 벽에 닿았는지 확인하고, 닿았다면 방향을 바꾸어야 한다.예를 들어 공이 왼쪽 또는 오른쪽 벽에 닿으면 x방향 속도를 반대로 바꾼다.if circle_pos[..
게임 만들기 기초: 게임 업데이트 1. 게임 업데이트의 의미게임은 단순히 화면에 그림을 출력하는 프로그램이 아니다. 사용자의 입력을 받고, 입력에 따라 게임 상태를 바꾸며, 바뀐 결과를 다시 화면에 보여주는 프로그램이다. 이때 게임 업데이트(Game Update)는 게임 안의 상태를 계산하고 변화시키는 단계이다.예를 들어 마우스로 점을 찍으면 점이 생성된다. 그다음 점이 아래로 떨어지도록 위치를 계속 바꾸면 자유낙하처럼 보인다.이처럼 점의 위치, 속도, 충돌, 점수, 시간 변화 등을 계산하는 부분이 게임 업데이트이다.2. 게임의 기본 흐름여기서 중요한 점은 업데이트가 입력과 출력 사이에 위치한다는 점이다.입력 처리는 사용자가 무엇을 하였는지 확인하는 단계이다. 업데이트는 그 입력 결과를 바탕으로 게임 상..
1. 방향키 / WASD 이동keys = pygame.key.get_pressed()if keys[pygame.K_LEFT]: x -= speedif keys[pygame.K_RIGHT]: x += speedif keys[pygame.K_UP]: y -= speedif keys[pygame.K_DOWN]: y += speedWASD 입력은 다음과 같이 사용할 수 있다.if keys[pygame.K_a]: x -= speedif keys[pygame.K_d]: x += speed 2. 마우스 클릭 위치 가져오기if event.type == pygame.MOUSEBUTTONDOWN: x, y = event.pos마우스를 클릭하면 event.pos에 클릭한 위치의 좌표가 ..
2. 마우스 클릭으로 이미지 움직이기앞 단계에서는 키보드 방향키를 이용하여 우주선 이미지를 움직였다. 이번에는 키보드가 아니라 마우스 클릭 위치를 이용하여 우주선의 위치를 바꾼다. 즉, 사용자가 게임 화면의 어느 지점을 클릭하면 우주선 이미지가 그 위치로 이동한다.이번 단계에서 필요한 기능단계기능초기화이미지 불러오기, 이미지 초기 위치 설정입력 처리마우스 클릭 감지, 클릭 위치 좌표 가져오기게임 업데이트이번 예제에서는 별도 처리 없음출력 처리클릭한 위치에 이미지 출력이번 실습의 핵심은 입력 처리 함수 handle_input()에서 마우스 클릭을 감지하는 것이다.핵심 개념: 마우스 클릭 이벤트pygame에서 마우스를 클릭하면 MOUSEBUTTONDOWN 이벤트가 발생한다. if event.type == p..
1. 게입의 기본 구조 - 입력2. 키보드 입력 처리하기 3. 마우스 입력 처리하기 💬 코드 생성 가이드라인 적용 # 생성 규칙1. 질문에서 요청한 행동만 수행2. 변수명 영어 사용3. 게임 기본 구조 3-3단계 준수 1) 게임 초기화, 2) 게임 메인 루프(입력 처리 → 게임 업데이트 → 출력처리, 3) 게임 종료# 가독성4. 코드는 반드시 함수로 나누어 작성5. 추가/수정된 소스코드는 #ADDED 표기# 수업 관련6. Python 언어 # 게임 개발 관련 7. pygame 라이브러리 기본 사용 8. 게임은 다음 5개 함수로 구분하여 구현 1) 게임 초기화, 2) 게임 입력, 3) 게임 업데이트, 4) 출력처리, 5) 실행로 나누어 생성# 생성 규칙1. 질문에서 요청한 행동만 수행2. 변수명 영어 사..
- Total
- Today
- Yesterday
- 4차산업혁명
- 초보자를 위한 텍스트마이닝
- 텍스트 마이닝
- UX
- 챗GPT
- 라이브러리
- HCI
- 텍스트마이닝
- 스마트기술
- 휴리스틱평가
- Idle
- 파이썬
- 안드로이드
- Text Mining
- 데이터R지
- 파이썬기초
- 관계자분석
- 파이썬 기초
- 챗봇
- pygame
- matplotlib
- 컴퓨팅사고력
- python
- 프로토타입
- HIG
- figma
- UI
- 데이타R지
- 피그마
- 자바스크립트
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |