본문 영역

잡담/제작 일지2019. 8. 11. 16:07
반응형
가볍게 작성된 자기보고적 성격의 게시물이므로 경어체를 사용하지 않습니다.

텍스트 블리팅


  클릭팀 퓨전은 폰트의 embed를 지원하기 때문에 간편하게 String 오브젝트를 사용해서 문자열을 표현하는 것이 가능하다.

  하지만 문자 단위의 색변환을 지원하지 않기 때문에 특정 키워드의 색상을 변경한다거나 하는 것은 어렵다. 불가능한 것은 아니지만, 기본적으로 제공하는 기능은 아니라는 뜻이다.

  그래서 찾다가 알게된 것이 문자단위로 끊어서 표현하는 텍스트 블리팅인데, 사실 이거 오브젝트로 있는 기능이다. 오브젝트로 있긴 한데 윈도우 전용일 뿐이다. 윈도우 전용이 큰 결함은 아니지만, 그래도 범용성이 감소하는 것은 상당히 아쉬운 일이다.


  걔 중 가장 유명한 것은 A programmer's guide to Multimedia Fusion 2(http://www.diybandits.com.au/MMF/index.html)에서 소개하고 있는 예제다. 튜토리얼에서 제공하는 데모에선 별도로 작성한 문자열 시트를 통해 해당 문자열이 몇 프레임이 있는지 찾고, 예제 파일에서는 아스키 코드로 변환해서 인덱스를 부여하는데 갠적으로 전자가 폰트 제작하기엔 편하다.

  여튼 기본 뼈대는 이걸로 결정했는데 보니깐 이건 복잡한 그래픽 폰트에 걸맞게 폰트 색상마다 별도의 폰트를 만들어 쓰는 괴랄맞는 방식이란 말이렸다. 그래서 String 오브젝트로 스프라이트 문자열을 대체해 보긴 했는데, 핳핳핳 그럼 비트맵 폰트 사용하는 보람이 없을 만큼 느려지는 것이다. 게다가 안드로이드에서 망할 텍스트 영역 계산기(Calculate Text Rect object)가 윈도우에서와 다른 결과값을 뱉어내질 않는 가? 흠냐

  그래서 찾은 것이 BartekB님의 텍스트 블리터 위젯(https://community.clickteam.com/threads/93518-Extension-less-Text-Blitter-Widget)이다. RGB 값을 이용해서 색상변환을 하니 매우 괜찮다.

  그래서 두 가지 예제를 잘 섞은 다음 노가다로 비트맵 폰트용 스프라이트 시트를 제작해 내놓은 결과물이 바로 위의 것이다. 물론 중간에 문자열의 정렬방식이나 이것 저것 때문에 갈아 엎고 다시한 부분도 없지 않은데, 그건 사소한 부분이니 넘어가도록 할까?
반응형

작성자

account_circle
습작(習作, etude87)

댓글 영역