pygame. error: font not initialized 의 해결 및 init () 는 도대체 무엇 을 했 습 니까?
잘못된 소스 코드 를 붙 입 니 다.
import pygame
my_font = pygame.font.SysFont('arial', 16)
my_font = pygame.font.Font('my_font.ttf', 16)
오류 보고 내용:
Traceback (most recent call last):
File "C:\Users\HaoziHuang\Desktop\pygame\4\4.py", line 6, in
my_font = pygame.font.SysFont('arial', 16)
File "D:\rjyj\Python\python3.6.8\lib\site-packages\pygame\sysfont.py", line 320, in SysFont
return constructor(fontname, size, set_bold, set_italic)
File "D:\rjyj\Python\python3.6.8\lib\site-packages\pygame\sysfont.py", line 243, in font_constructor
font = pygame.font.Font(fontpath, size)
pygame.error: font not initialized
어떤 글꼴 문 구 를 먼저 실행 하 더 라 도 오류 가 발생 할 수 있 습 니 다. 이 오류 가 발생 했 을 때 프로그램 시작 부분 에 pygame 의 초기 화 문
pygame.init()
이 부족 한 지 확인 해 야 합 니 다. pygame.init()
도대체 무엇 을 초기 화 하 는 것 입 니까?이 문 제 는 잘 물 었 다!현대 마법
너 는 도대체 (init) 몇 명의 좋 은 여동생 (모) 여동생 (덩어리) 이 있 니?
우리 가 init () 에 있 을 때 우 리 는 무엇 을 하고 있 었 습 니까?
init
이 단 어 는 우리 가 python 으로 대상 을 대상 으로 개발 할 때 도망 갈 수 없다.python 을 이해 하 는 __init__()
은 사실 이곳 init()
과 작용 이 많 지 않다.하 는 일 은 다초기 화.그 가 무엇 을 하고 있 는 지 에 대해 나의 설명 은 이렇다.python 에 특별한 '공구 꾸러미 (모듈)' 가 있다 는 것 을 알 고 있 습 니 다.
pygame
됐어 요.우리 가 그것 으로 우리 의 생각 을 완성 하기 전에 컴퓨터 라 는 강박 증 은 우리 가 이 공구 꾸러미 가 완전 하고 정상적으로 우리 에 게 도움 을 줄 수 있 는 지 를 한 번 검사 해 야 한다.이 검사 의 동작 은 바로pygame.init()
그럼 init () 는 실제로 어떤 것들 을 검 사 했 나 요?
이것 도 사실 실험 하기 어렵 지 않다.셸 에서 직접 이 함 수 를 실 행 했 습 니 다.
>>> import pygame
>>> pygame.init()
(6, 0)
그래서 인지 그 가 나 에 게 원 조
(6,0)
를 주 었 는데 나 도 이 6 과 0 이 각각 무슨 뜻 을 대표 하 는 지 이해 가 되 지 않 는 다.그래서 pygame 공식 문 서 를 찾 아 봤 습 니 다.initialize all imported pygame modules
init() -> (numpass, numfail)
Initialize all imported pygame modules. No exceptions will be raised if a module fails, but the total number if successful and failed inits will be returned as a tuple. You can always initialize individual modules manually, but
pygame.init()
is a convenient way to get everything started. The init()
functions for individual modules will raise exceptions when they fail. You may want to initialize the different modules separately to speed up your program or to not use things your game does not.
It is safe to call this
init()
more than once: repeated calls will have no effect. This is true even if you have pygame.quit()
all the modules. 가 져 온 pygame 모듈 을 초기 화 합 니 다.모듈 이 실패 하면 이상 이 발생 하지 않 지만 성공 하고 실패 한 총 수 는 원 그룹 으로 되 돌아 갑 니 다.할 수 있다,...
단일 모듈 을 수시로 수 동 으로 초기 화 하지만 pygame. init () 가 져 온 모든 pygame 모듈 을 초기 화 하 는 것 은 모든 내용 을 시작 하 는 편리 한 방법 입 니 다.각 모듈 의 init () 함 수 는 실패 할 때 이상 을 일 으 킬 수 있 습 니 다.
프로그램 을 가속 화하 거나 게임 에 없 는 것 을 사용 하지 않 기 위해 다른 모듈 을 단독으로 초기 화 하 기 를 원할 수도 있 습 니 다.
이
init()
를 한 번 만 호출 하 는 것 이 안전 합 니 다. 중복 호출 은 소 용이 없습니다.설령 네가 pygame.quit()
모든 모듈 을 가지 고 있다 하 더 라 도 마찬가지다.init () 에 대한 의외 의 실험
나 는 이전에
pygame.init()
이 함수 가 도대체 init 가 어떤 모듈 을 만 들 었 는 지 깊이 연구 한 적 이 없다. 단지 실천 과정 에서 오디 오 재생 과 문자 글꼴 을 만 들 때 init 가 없 으 면 오 류 를 보고 할 수 있다 는 것 을 알 았 을 뿐이다.오늘 나 는 나의 새로운 컴퓨터 환경 을 설치 할 때 컴퓨터 의 모델 을 모 르 기 때문에 특별히 컴퓨터 에 대응 하 는 구동 을 검색 하고 설치 하지 않 았 다.결 과 는 python 을 설치 한 후 pygame (wheel 도 설치) 을 설치 한 후 일반적인 테스트 함수
pygame.init()
를 실행 하여 되 돌아 오 는 숫자 는 (5, 1) 입 니 다.문 제 를 제거 하 는 방법 은 이미 알 고 있 는 서브 모듈 을 모두 먼저 실행 하 는 것 이다.조사 결과 pygame 에서 사 운 드 카드 구동 을 호출 할 수 없 음 을 발견 하 였 습 니 다.남 은 일 은 많이 쉬 워 졌 습 니 다. 사 운 드 카드 드라이버 를 다시 설치 하고 다시 시작 하면 정상 init 가 됩 니 다.
그러나 이 과정 에서 나 는 이전 보다 더욱 실제 에 가 까 운 결론 을 얻 을 수 있다.
init()
컴퓨터 에 필요 한 하드웨어 호출 인터페이스, 기초 기능 에 문제 가 있 는 지 확인 하 는 것 이다.만약 있다 면, 그 는 프로그램 이 실행 되 기 전에 너 에 게 피드백 을 해서, 네가 조사 하고 회피 하 는 것 을 편리 하 게 할 것 이다.이렇게 많아
>>> import pygame
>>> pygame.init()
(6, 0)
>>> pygame.display.init()
>>> pygame.font.init()
>>> pygame.joystick.init()
>>> pygame.mixer.init()
>>> pygame.scrap.init()
Traceback (most recent call last):
File "", line 1, in
pygame.error: No display mode is set
>>> pygame.freetype.init()
Traceback (most recent call last):
File "", line 1, in
AttributeError: module 'pygame' has no attribute 'freetype'
>>> pygame.midi.init()
Traceback (most recent call last):
File "", line 1, in
AttributeError: module 'pygame' has no attribute 'midi'
>>> pygame.cdrom.init()
나 는 pygame 홈 페이지 에 있 는 doc 에서 소개 한 init 가 있 는 모든 하위 모듈 을 한 번 실행 했다.
그 중
pygame.init()
과 midi
이 두 모듈 은 이미 없어졌다.freetype
초기 화 에 실패 한 것 은 창 이 없 기 때 문 입 니 다.이렇게 되면 사실상 5 개의 모듈 이 초기 화 되 었 다.그러나 scrap 은 창 이 없 는 상태 에서 잘못 보고 할 수 있 습 니 다. 하나 라 고 할 수 있 습 니까? scrap
뒤에 문서 와 원본 을 자세히 봐 야 겠 죠?That's all!이 사내 의 나 눔 에 다시 한 번 감 사 드 립 니 다!
공식 문 서 를 첨부 하 다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
완전히 처음부터 시작하는 보드 게임의 프로그래밍과 기계 학습 [4 일째]평소 Python의 기본적인 사용법을 배웠으므로, 드디어 Pygame을 사용하여 게임 제작의 입구로 발길을 가고 싶습니다. Pygame은 Simple DirectMedia Layer (SDL)라고 불리는 다른 게임 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.