2/4 페이지 열람 중
파이썬을 shell(command prompt, 명령창)에서 작동시키지 않고, UI를 통해서 사용자에게 비주얼한 환경을 제공하기 위해서는 필요한 각종 오브젝트(위젯)들을 생성해야 한다. 프로그램적으로 만들어 낼 수는 있으나, 프로그램의 길이가 길어지고, 수정할 일이 많아지면 이 또한 매우 복잡해 질 수 있다. 파이썬 UI 프로그래밍을 위해 UI를만드는 방법은 세 가지가 있다. 첫째, 코드내에 프로그램적으로 위젯들을 직접 생성하는 방법. 둘째, xml로 구성된UI 파일을 컴파일해서 파이썬 코드에서 불러들이는 방법. 셋째…
Sprite(스프라이트) Frame 시간에 관계없이일정하게 Image 보여주기 pygame화면을 나타내는 주기를 FPS(frame per second)라고 하고 1초에 변경되는 화면의 갯수를 의미한다. 만약 어떤 동작(가만히 서있는 동작)에서 사용하는 이미지가 10개인데, FPS가 60이라면, 이 동작은 실제로 1초에 6번을 반복 실행하게 된다. 앞선 강좌에서 실행해 본 결과, 가만히 서서 숨을 고르는 공룡이 자연스럽지 못하고 숨을 헐떡헐떡이는 것처럼 보였다. 예) FPS = 60 일때 이것을 좀…
Draw line, rectangle, circle, polygon, ellipse 그리기 pygame의 draw 모듈을 이용하여다양한 도형을 그릴 수 있다. draw에 의해 생성되는 모형은 모두 Rect이다. 따라서 Rect의 가상 속성값을 모두 가지고 있다. 참고 :https://www.jbmpa.com/pygame/4 * SCREEN은 본 강좌에서 사용하는 Surface이다. 그리고 색상 상수는 아래처럼미리 선언한다고 가정한다. BLACK = (0, 0, 0) RED = (255…
Image를 SCREEN 안에서 벗어나지 않게 하기 이전 강좌에서 Image를 키보드로 제어하는 것을 구현하였다. 하지만 여전히 Image는 SCREEN밖으로 벗어난다. 참고 :https://www.jbmpa.com/pygame/7 Image를 SCREEN안에서만 움직이게 하려면 Image의 좌표와 SCREEN의 사이즈를 비교하여 SCREEN 사이즈를 벗어나면 다시 안으로 들어오게 만드는 코드를 추가하면 된다. 아래의 그림을 보자. 그림의 좌표를 참고로 화면밖으로 벗어나는 것을 방지하는 알고리즘…
Image의 위치를 키보드로 제어하기 이전 강좌에서 이미지를 자동으로 움직이는 기능을 완성해 보았다. 참고 :https://www.jbmpa.com/pygame/6 이번에는 이미지를 키보드의 화살표키로 움직이게 하는 방법을 알아보자. 1. 이벤트에서 이미지의 좌표값을 증가시키기 event 처리 강좌에서 키보드의 키 이벤트를 받아서 처리하는 코드를 알 수 있었다. 참고 :https://www.jbmpa.com/pygame/3 이 것을 응용하여, 키에 따라 이미지의 좌표값을 증가시켜 본다. 이…
Image를 자동으로 움직이게 하기 pygame에서의 객체들은 게임 루프안에서 동작하도록 코딩한다. 따라서 게임 루프는 끊임없이 반복하므로, 이미지의 위치를 조금씩 변경해주면 이미지가 이동하는 것이 된다. 1. 위에서 아래로 자동으로 이동하는 이미지 이미지가 위에서 아래로 움직이려면, 이미지의 y값이 계속 증가하면 된다. pygame의 y좌표값은 보통 수학에서 말하는 y좌표와는 다르게 아래로 갈 수록 값이 늘어나고 위로 갈수록 값이 줄어든다. 따라서 이미지의 y 좌표값을 증가시키는 코드를 게임 루프안…
Image 화면에 나타내기 pygame의 스크린에서 움직이는 모든 객체는 이미지라고 해도 과언이 아니다. draw 메서드를 통해 line, rectangle, circle 등을 그릴 수 있지만, 이들 모두 surface 객체이며 surface 객체는 이미지로 보면 된다. 다시 말하면, 연속으로 움직이는 동작들은 게임 캐릭터, 미사일, 전투기, 자동차 등의 이미지를 연속적으로 화면에 보여주는 애니메이션이다. 이번 강좌에서는 pygame에서 이미지를 불러와서 스크린에 복사하고, 화면을 갱신하는 과정을 알아본다.…
pygame 시작하기 pygame은 파이썬에서 GUI를 구현해주는 모듈이다. pygame을 사용하기 위해서는 pygame 모듈을 설치해야 한다. pip install pygame 관련 모듈 : pygame :https://pypi.org/project/pygame/ 공식 문서 :https://www.pygame.org/docs/ ** pygame이 설치가 되지 않는 Mac OS 사용자용 pygame 설치를 위한 SDL 설치 Enter Termincal Comm…
이미지 EXIF(Exchangeable Image File Format) 정보 얻기 스마트폰이나 디지털 카메라로 사진을 찍어서 jpg 포맷으로 저장을 하면, 사진 파일에 메타데이터(파일의 속성이 저장된 데이터)가 저장된다. 이미지를 볼 수 있는 뷰어나 윈도우즈에서 마우스 오른쪽 버튼을 클릭하여 "이미지 속성" 또는 "속성"을 클릭하면 이미지의 메타데이터 즉, EXIF의 정보를 볼 수 있다. 1) faststone 이미지 속성으로 본 화면 2) 윈도우의 속성으로 본 화면 …
웹 크롤링(crawling), 스크래핑(scraping) 웹 크롤링과 스크래핑은 웹의 정보를 읽어서 원하는 모양으로 가공하는 기술이다. 두 용어가 서로 비슷하면서 다르게 쓰이는데, 의미는 대동소이하므로 본 강좌에서는 스크래핑으로 통일하여 호칭하도록 한다. 웹 스크래핑을 하기 위해서는 HTML의 기본 적인 구조를 이해해야 한다. 웹 페이지를 구성하는 언어는 HTML(HyperText Markup Language)이며, HTML은 웹 페이지의 정보를 전달하는 기능을 한다. HTML을 좀 더 다양하게 꾸며주는 언어는 …