본문 바로가기

파이썬93

pygame - [소리 제어] ▣ 안녕하세요. 이번장에서는 pygame으로 소리를 제어하는 코드를 공부해보겠습니다. ▣ 먼저 소리를 재생하기 위해서 소리를 가져오는 코드를 작성해야 합니다. pygame.mixer.Sound() 함수를 이용해서 소리를 가져와야 합니다. Sound() 함수에서 매개변수에 파일 위치를 지정할 때 주의해야 할 건 \를 / 기호로 바꿔서 지정해야 합니다. 소리 파일을 지정했다면 이제 소리의 크기를 제어해보겠습니다. sound변수에서. 점으로 접근을 하게 되면 이렇게 sound.set_volume() 함수로 소리를 제어할 수 있습니다. 함수에서 소리의 범위는 0.0~1.0입니다. 소리를 재생하는 코드는 sound.play() 함수로 재생합니다. 그냥 play() 함수로 재생할 수도 있지만 play() 함수안에 .. 2022. 10. 14.
pygame - [이미지 제어] ▣ 안녕하세요. 이번장에서는 pygame으로 이미지를 제어하는 코드를 공부해보겠습니다. ▣ 이미지를 제어하기 위해서는 pygame.image.load() 함수를 사용해야 합니다. 이 함수는 이미지를 불러오는 함수입니다. 여기서 이미지 경로를 지정해야 하는데 \(백 슬래시) -> /(슬래시)로 변경하여 이미지 경로를 지정해야 합니다. 이미지의 위치를 모를 경우 이미지를 클릭하고 오른쪽 마우스를 누르고 속성을 눌러 확인하시면 됩니다. ▣ pygame.transform.scale() 함수는 이미지의 크기를 조절합니다. scale(이미지 변수, (크기)) 이런 식으로 매개변수 값을 넣으면 됩니다. pygame.transform.rotate() 함수는 이미지 회전을 제어할 수 있습니다. rotate(이미지 변수,.. 2022. 10. 6.
pygame - [텍스트입력] ▣ 안녕하세요. 이번장에서는 텍스트를 입력받고 입력한 텍스트를 화면에 바로 출력하는 코드를 공부해보겠습니다. ▣ 기본적인 화면 구성하는 코드를 작성하겠습니다. 항상 pygame을 진행하실 때 pygame.init() 초기화하는 코드를 잊지 말고 넣어주세요. 그리고 text를 입력 받을 변수를 만들어주시고, 글꼴 객체, 폰트 랜더링하는 코드까지 작성해주세요. ▣ 이제 무한반복으로 코드를 입력받아야 하기 때문에 while문을 통해서 무한반복을 하고 입력받는 코드를 작성 넣겠습니다. 먼저 기본적으로 pygame을 종료하는 코드가 있어야 하기 때문에 스페이스키를 누르면 pygame이 종료되는 코드를 먼저 작성했습니다. ▣ 그리고 이어서 if event.key == pygame.K_RETURN: 엔터 키를 누르는.. 2022. 9. 19.
pygame - [마우스 제어] ▣ 안녕하세요. 이번장에서는 마우스를 제어하는 코드를 공부해보겠습니다. ▣ 먼저 화면을 구성하는 코드를 작성해주세요. ▣ 그리고 무한 반복을 하는 while문에서 마우스를 제어하는 조건문과 스페이스키를 누르면 pygame 끝나는 코드를 작성했습니다. 이 장에서는 마우스 제어에 대한 부분만 설명하겠습니다. pygame.event.get() 함수는 마우스, 키보드 모든 이벤트에 대한 값을 가져오는 코드입니다. 마우스에 대한 코드를 한 줄씩 설명하면 if event.type == pygame.MOUSEBUTTONDOWN: 받아온 event에 type이 마우스 클릭이면 작동하는 조건문입니다. pygame.mouse.get_pos() 마우스 위치를 가져오는 함수입니다. 그럼 마우스를 클릭하면 pos변수에 마우스 .. 2022. 9. 16.
pygame - [텍스트출력] ▣ 안녕하세요. 이번장에서는 텍스트를 출력하는 코드를 공부해보겠습니다. 우선 코드를 작성하면서 공부하겠습니다. ▣ 우선 기본적으로 화면을 구성하는 코드를 작성해주세요. 그리고 pygame.init() 초기화를 잊지 말고 진행해주세요. ▣ pygame.font.SysFont 함수는 시스템 글꼴에서 객체 만들기 함수입니다. 쉽게 이야기해서 폰트를 만들어서 그 폰트를 렌더링한다음에 그리기를 하는 과정이라고 생각하시면 되는데요. SysFont(이름, 크기, 굵게, 기울임) 순으로 매개변수를 입력하시면 됩니다. ▣ font.render는 함수이름 그래도 렌더링 하는 함수인데 render(텍스트, 안티앨리어싱, 색상, 배경색) 순으로 넣으시면 됩니다. ▣ 무한반복안에 프레임 지정 및 화면 배경 색을 채우고 키를 누.. 2022. 9. 15.
pygame - [VS Code 자동완성] ▣ 안녕하세요. 이번장에서는 비주얼 코드(VS Code)에서 pygame 모듈 코드를 자동 완성하게 하는 내용을 공부해보겠습니다. 우선 우리가 python에서 pygame 모듈을 사용하기 위해서는 pygame 모듈을 설치해야 합니다. ▣ 보통 cmd 명령프롬프트에서 pip install pygame으로 설치합니다. 그렇게 설치를 하고 비주얼코드(VS Code)에서 pygame 모듈에 관련된 코드를 접근하려고 하면 자동완성이 안되는걸 확인할 수 있습니다. 그렇기 때문에 cmd에서 설치하셨다면 지워주시고, ▣ 비주얼코드(VS Code)에 보기 메뉴에서 터미널을 클릭해주세요. ▣ 그리고 밑에 터미널에서 pip install pygame 모듈을 설치해주세요. ▣ 그리고 pygame. 모듈을 접근하면 이렇게 자동.. 2022. 9. 7.
Visual studio 단축키 안녕하세요. ^^ 비주얼스튜디오를 사용하다가 많이 사용하는 단축키를 모아서 정리해보았습니다. 솔루션 탐색기 열기 Ctrl + Alt + L 코드자동완성 Ctrl + Space 현재 커서 라인 복사해서 아래라인에 붙여넣기 Ctrl+D 현재 커서 라인 잘라내기 Ctrl + X 드래그한 범위 주석처리 Ctrl + K -> Ctrl + C 드래그한 범위 주석해제 Ctrl + K -> Ctrl + U 단어 검색, 찾기 Ctrl + F 2022. 7. 28.
python - [랜덤, Random] ▣ 안녕하세요. 이번장에서는 파이썬에 random모듈을 사용해서 랜덤을 구현해보겠습니다. ▣ random() 함수는 0~1까지 사이에 숫자를 랜덤으로 주는 함수입니다. ▣ randrange() 함수는 (시작, 범위)까지에 숫자를 랜덤으로 주는 함수입니다. randrange(0, 10)이라고 하면 0~9까지 입니다. 그렇기 때문에 제가 범위라고 이름을 정했습니다. 범위는 내가 정한 숫자에 10 - 1을 한다고 생각하시면 됩니다. ▣ randint()도 randrange() 과 비슷합니다. 변수를 정의하고 randint(num1, num2) 라고 정의하면 됩니다. 동일하게 (시작, 범위)인데 여기서는 num1 = 0, num2 = 11 이면 0~11 모두 포함해서 랜덤으로 골라주고 값을 주게 됩니다. ▣ s.. 2021. 7. 25.
파이썬 - [웹 클로링_1, 간단한 정보수집] ▣ 우선 cmd 명령 프롬프트를 실행하셔서 pip install requests beautifulsoup4를 설치해주세요. ▣ 먼저 우리가 www.naver.com 네이버를 들어가서 간단한 정보를 가지고 오겠습니다. 홈페이지에 들어가서 F12 키를 누르시면 개발자도구가 나오는 걸 확인할 수 있습니다. 웹사이트에 코드라고 생각하시면 되는데 html 형식으로 되어 있습니다. ▣ 먼저 import urllib.request 를 선언해주세요. 이건 쉽게 이야기해서 웹사이트에 정보를 요청해서 그 정보를 읽어오는 모듈이라고 생각하시면 됩니다. 그리고 url 변수에 = "http://www.navercom" 문자열 형식으로 대입을 해주세요. req = urllib.request.urlopen(url) 을 넣어주세요... 2021. 6. 3.
파이썬 - [pygame, 충돌감지_1, 스프라이트, collide] ▣ 이번장에서는 pygame에 이미지를 서로 충돌하는 코드를 작성하도록 하겠습니다. 방법이 많이 있습니다. 밑에 있는 pygame메뉴얼을 참고해주시고, 저는 간단한 방법 몇가지만 공부해보도록 하겠습니다. https://www.pygame.org/docs/ref/sprite.html pygame.sprite — pygame v2.0.1.dev1 documentation The first point of collision between the masks is returned. The collision point is offset from sprite1's mask's topleft corner (which is always (0, 0)). The collision point is a position with.. 2021. 5. 26.
파이썬 - [이미지 애니메이션] ▣ 이번장에서는 파이썬 이미지를 여러 개 그려 움직이는 애니메이션을 만들어보겠습니다. pygame.event.key 에 관련하여 캐릭터가 움직이는 부분은 따로 공부해주세요. ▣ 캐릭터에 움직이는 애니메이션 이미지는 여기 홈페이지를 통해 무료를 다운로드하여주세요. https://itch.io/game-assets/free ▣ 또한 이미지 크기 및 방향을 변경해주셔야 합니다. 오른쪽, 왼쪽을 움직이는 이는 애니메이션을 제작하기 때문에 꼭 오른쪽 방향, 왼쪽 방향 이미지를 다운로드하거나 편집해서 수정해주세요. https://www.iloveimg.com/ko/crop-image 이미지를 신속하게, 무료로 잘라내세요! JPG, PNG, GIF 파일을 신속하게, 무료로 잘라내세요! www.iloveimg.com .. 2021. 5. 20.
파이썬 - [pygame, 마우스입력, 마우스좌표, event] ▣ 키보드를 입력받는 것과 동일하게 for event in pygame.event.get()으로 입력받는 값을 for으로 event에 하나하나 넣어줍니다. ▣ for으로 뿐만 아니라 바로바로 단일화해서 이벤트 값을 반환해주는 함수도 있습니다. poll() 함수입니다. https://www.pygame.org/docs/ref/event.html#pygame.event.poll pygame.event — pygame v2.0.1.dev1 documentation Pygame handles all its event messaging through an event queue. The routines in this module help you manage that event queue. The input queu.. 2021. 5. 15.
파이썬 - [pygame, 도형그리기, draw] ▣ 먼저 도형을 그리기 위해 pygame.draw. 을 접근하여 내가 그리고 싶은 도형을 접근합니다. . 접근연산자를 누르면 이렇게 어떤걸 그리고 그 매개변수 값이무엇인지 나오게 됩니다. https://www.pygame.org/docs/ref/draw.html pygame.draw — pygame v2.0.1.dev1 documentation a rect bounding the changed pixels, if nothing is drawn the bounding rect's position will be the position of the first point in the points parameter (float values will be truncated) and its width and heig.. 2021. 5. 14.
파이썬 - [pygame, 소리재생, 배경음악, mixer, sound] ▣ 우선 pygame.init() 함수를 호출하여 pygame를 초기화하세 해주세요. 이 부분이 없으면 초기화되지 않았다라는 경고가 나와 실행이 안됩니다. ▣ 그리고 test_sound라는 이름으로 pygame.mixer.Sound() 함수를 대입해 주세요. Sound() 매개변수에는 내가 사용할 소리에 위치 경로를 넣어주세요. 여기서 주의해야 할 건 경로를 복사 붙여 넣기 하면 \ 이스케이프로 붙어넣어집니다. 그럼 제어 문자로 인식해 오류가 발행하기 때문에 / 기호로 변경해서 경로를 지정해줘야 합니다. ▣ 그리고 test_sound.play() 함수를 호출하여 소리를 재생합니다. 그리고 확인을 해보세요. 그럼 소리가 한번 나오는 걸 확인할 수 있습니다. ▣ 이번에는 배경음악이 나오는 것처럼 소리를 무한.. 2021. 5. 13.
파이썬 - [pygame, 텍스트출력, 글꼴지정] ▣ pygame.init()으로 pygame을 초기화해주세요. ▣ 먼저 font = pygame.font.SysFont() 로 글꼴을 객체서 정의해줍니다. SysFont("글꼴", 크기, 굵기여부, 기울기 여부) 이렇게 매개 변수값을 입력하세요. 글꼴에 종류를 알아보려면 ▣ print(pygame.font.get_fonts())를 출력하시면 이렇게 글꼴을 확인할 수 있습니다. ▣ 그리고 text = pygame.font.render()함수를 이용해서 내가 작성할 텍스트를 지정해줍니다. pygame.font.render(텍스트, antialias여부, 색지 정(튜플), 텍스트 배경색(튜플)) 매개변수를 원하시는 값으로 입력해주시면 됩니다. ▣ 그리고 이미지를 출력하는 것과 동일하게 screen.blit(t.. 2021. 5. 10.
파이썬 - [pygame, 키입력] ▣ 먼저 while True 메인반복하는 코드에 for event in pygame.event.get() 을 넣어주세요. 우선 계속 키에 값을 입력받아야하기 때문에 메인 while True안에 코드를 넣었습니다. 그리고 pygame.event.get()에 키에 값을 for문을 이용해서 하나하나 event에 넣어줍니다. ▣ 그리고 if event.type == pygame.KEYDOWN 처럼 event.type 타입이 키를 누른 KEYDOWN이고 if event.key == pygame.K_UP 키에 값이 화살표 위쪽 키라면 위쪽화살표를 출력하게 했습니다. 요약하면 위쪽 화살표키를 누르면 위쪽화살표를 출력하게 했습니다. ▣ if event.type == pygame.KEYUP 키를 때고 if event.k.. 2021. 5. 9.
파이썬 - [pygame, 이미지 로드, 이미지회전, 이미지 크기조정, 이미지 출력] ▣ img 라는 변수에 pygame.image.load()로 이미지를 불러옵니다. 저렇게 이미지에 위치를 입력해주시면 되는데 C: / 2021. 5. 7.
파이썬 - [pygame, 화면출력, 프레임조정, 화면 색 채우기] ▣ 먼저 pygame import 를 지정합니다. 그리고 size를 튜플형식으로 화면에 해상도를 지정해줍니다. screen 이름으로 pygame.display.set_mode() 를 지정해주는데 mode() 매개변수 안에 화면에 사이즈 크기를 튜플 형식으로 지정해줍니다. ▣ set_caption() 함수는 창 타이틀에 이름을 설정해주는 겁니다. ▣ pygame.time.Clock() 함수는 1초에 몇 프레임으로 제한할지에 대한 시간 함수입니다. clock.tick(30) 으로 넣게 되면 1초에 30프레임으로 제한을 한 것 입니다. 다른 방법들도 많으니 밑에 pygame메뉴얼을 참고해주세요. while True: 기본적으로 계속 프로그램을 진행해야하기 때문에 무한반복으로 진행했고, screen.fill().. 2021. 5. 7.
파이썬 28장(pygame_03, 이미지불러오기, 키 연속으로 입력pygame.image.load, scale, pygame.event.get()) ▣ 안녕하세요 ^^ 오늘도 pygame을 공부해보겠습니다. ▣ 우선 이미지를 불러오겠습니다. 우선 player_img라는 변수 이름으로 pygame.image.load() 함수로 이미지를 불러오겠습니다. load() 함수에 매개변수 값에 우리가 사용할 이미지에 경로를 넣어줍니다. tkinter처럼 이미지 확장자가 png인 파일을 선택해주세요. 그럼 player_img에 이미지를 불러왔고 이제 크기를 조절하겠습니다. pygame.transfrom.scale()을 통해 먼저 어떤 이미지를 조절할지 매개변수를 놓고 , 콤마를 한 후에 () 튜플 형식으로 x, y 크기를 지정해줍니다. ▣ 그리고 이미지를 위치를 변수로 선언해주세요. player_posX, player_posY 제가 0으로 했지만 여러분들은 플레.. 2021. 5. 6.
파이썬 27장(pygame_02, event, get(), KEYDOWN, K_, 키보드 입력) ▣ 안녕하세요 ^^ 오늘도 저번장에 이어서 게임을 만들어보겠습니다. 다시 말씀드리지만 코딩은 정답이 없다고 생각합니다. 코딩은 결국 컴퓨터한테 명령을 하는 것이고 자신에 생각을 컴퓨터한테 전달해서 그걸 표현하는 작업이 코딩이기 때문에 제가 하는 예제는 참고만 해주시고, 여러 블로그들에 글을 보시면서 자신만에 코드를 완성해가셔야 진짜 실무에서 코딩을 하실 수 있습니다.~~ ▣ 먼저 키보드를 입력받는 코드를 진행해보겠습니다. while True: 안에 코드를 입력하겠습니다. 그건 계속해서 키보드에 값을 입력받아야 하기 때문에 계속 반복되는 메인코드에 넣었습니다. 그리고 for event in pygame.event.get() 이라고 되어있죠? for문을 우리가 배워서 알고 있습니다. event라는 값 안에 .. 2021. 4. 29.
파이썬 26장(pygame_01, import, display, set_caption, time, update) ▣ 안녕하세요 ^^ 저번장에 이어서 이번에도 파이썬으로 게임을 만들어보도록 하겠습니다. 아무래도 좀 더 심화적으로 게임을 만들려면 pygame을 사용하는 게 좋을 거 같아 tkinter이 아닌 pygame으로 만들어보도록 하겠습니다. www.pygame.org/docs/ref/display.html pygame.display — pygame v2.0.1.dev1 documentation Change whether screensavers should be allowed whilst the app is running. The default is False. By default pygame does not allow the screensaver during game play. It is possible to .. 2021. 3. 25.