에 NULL을 반환한다. 내가 어떤 명령을 부르는 지 문제가되지 않는다. 항상 두 번째 명령은 실패한다. 왜 이런거야?SDL TTF_OpenFont 내가 다음 코드를 (다른 크기를 위해) 다른 TTF_Fonts에 두 번 글꼴을로드하기 위해 노력하고있어 두 번째 시도
1
A
답변
1
반환 값 TTF_OpenFont
을 테스트해야하고 오류가 발생하면 TTF_GetError
을 사용하여 오류의 원인을 알아야합니다. 필자는 개인적으로 문제가 없었지만 폰트 크기가 폰트로 지원되지 않는다면 실패 할 수도있다. 좀 더 자세한 정보는 문서 here을 참조하십시오.
0
감사합니다. 도움에 감사드립니다.
왜 이런 일이 발생했는지 알 수는 없지만 TTF_OpenFont()를 호출 할 때 의 값은 모두 문자열이 변경되었습니다. 이 문제를 해결하기 위해 특정 글꼴을 호출하기 전에 각 문자열의 값을 가져옵니다. 이상적이지는 않지만 문제는 지금 사라진 것 같습니다.
나는 시간이 허락 할 때 더 조사를하고 왜 이런 일이 일어나고 있는지 확인할 수 있습니다.
다시 한번 감사드립니다.
TTF_GetError 메시지는 그 의미가 "Cinu를 열 수 없습니다."라는 메시지입니다. 글꼴 로딩 순서를 바꾸면 항상 두 번째로 실패하므로로드하는 방식에 문제가되지 않습니다. 또한 글꼴 경로에 변수 대신 문자열을 사용하면 작동합니다. 불행히도 나는 이것을 할 수 없다. 어떤 아이디어? – user2550951
프로그램에서 실제로 잘못된 점이있는 것 같습니다. 어떤 일이 일어나는지 알아 내려면 더 많은 코드가 필요합니다. "cinu"의 출처를 모르지만 글꼴 이름을 표시해야합니다. 귀하의 코드는 처음 질문에서 설명한 것과 똑같습니까? – emartel
자세한 내용을 보여주기 위해 코드를 수정했습니다. 실제로 나를 괴롭히는 것은 내가 TTF_OpenFont에 대한 호출 순서를 바꿀 때 두 호출이 서로 관련이 없어야한다는 두 번째 호출 (여전히 호출을 제공하고 반환 값을받는 별도의 변수가 있어야 함)입니다. – user2550951