冒险解谜游戏中文网 ChinaAVG
标题:
图片字库定义文件通用制作工具的设计思路
[打印本页]
作者:
shane007
时间:
2010-4-25 15:17
标题:
图片字库定义文件通用制作工具的设计思路
最近,大量的汉化项目都涉及到了图片字库。
) ?8 R9 y0 n; Y! u
要用图片字库自然离不开编程制作图片字库的定义文件。
+ d& o9 }6 t; x+ C5 L
图片字库我们可以用Photoshop来快速制作,请看如下帖子。
& @# b' L. {8 d' w F* D# q
用Photoshop制作图片字库简易教程
' D0 O5 s, |5 K
https://www.chinaavg.com/read.php?tid=22020
4 D5 d# n/ c7 [9 d6 A8 f
2 ~; a, O3 Q, L6 [
那图片字库定义文件是否有什么快捷的办法来生成呢?
" V! y- k6 Z; I9 D, e/ k+ f$ v- U
办法都是人想出来的,我想了个如下的办法:
k) w1 z# Q% M* a3 K! [ e/ X
# d: n; ~. A% ]) S. L v3 e9 }
我们可以发现,虽然图片字库的定义多种多样。
6 e, G: n3 M$ @
但是,大致都可以归纳为如下的样子
4 v( a i) J0 h9 ]9 c3 w" @
7 I* h3 R/ _( M; {
1. 头部信息
" v% Q! y8 ]4 `( |
记录了图片的高度,宽度,字符数等信息
) J B! I4 l0 W0 h- n
2. 每个字符的位置信息x字符数
( ]+ z' Y* [( _( \8 q. s$ p. Q
9 e' P+ |5 _/ M. f
对于第2个部分来说,我们可以设计一个通用工具来生成。
' ^& @4 G2 O! a* ~
下面说说这个通用工具的设计思路。
9 Z2 m! e, @. A7 O
4 i7 H- a1 P4 B1 J/ v3 Q& u4 i
我们先输入一些必要的参数,比如字符的高度,宽度,首行字符的上边界及左边界坐标等等。
5 g2 `% x5 r4 l
就可以确定每一个字符的范围,这每一个字符都会对应1组参数,比如x,y,,left,top以及UV坐标系的x/width 等等
& b$ c6 i" o. c* ^1 w
我们可以预先定义一个字符的位置信息的模版。
0 Z: f. ~. \: M# ~% R% J
程序会按模版的定义,选取我们需要的参数,按游戏的图片字库定义文件的格式,生成上面的part2.
; y3 t& W) y$ e A$ [9 X
那part1我们只要简单地手工修改一下即可。
' L. P! ^- i0 w! @
^" g$ p+ q9 t7 y
有了这样的1个工具的话,我们可以快速地制作出各种类型的图片字库的定义文件。
' `& {9 A. A# ^2 t" B m5 g: c
希望各位懂技术的朋友给提提意见,参与讨论。
作者:
rendu2mai
时间:
2010-4-25 22:18
标题:
小小的想法
之前完成作业碰到了不少的字库定义文件,也有过这方面的考虑,汇报一下自己的想法,但愿有所裨益。
; `% i# Q+ z/ _; K+ l
part2的字库定义基本分两类
% p. l. S/ p" Y
一是字符集中型,就是第一行定义第一个字符的所有信息,第二行定义下一个的,比如Magic Encyclopedia 3 Illusions:
char id=32 x=0 y=0 width=1 height=0 xoffset=0 yoffset=30 xadvance=7 page=0 chnl=0
char id=33 x=427 y=93 width=5 height=22 xoffset=1 yoffset=4 xadvance=7 page=0 chnl=0
复制代码
二是属性集中型,就是第一行先把所有字符的某一个属性比如字符编码定义完,下一行定义所有字符的另一个属性如宽度,如popcap framework的定义方法:
Define CharList
('%', '(',);
Define WidthList
(7, 27,);
复制代码
另外一种分类方式是编码方式,基本上有两类,一个是十六进制类,一个是明码类(多为utf-8)
2 h# [8 a; ~6 [, e# y1 i
0 a9 L8 d% X+ K+ U
我的想法是让玩家输入脚本,类似下面一段:
char id=&N x=&X y=&Y width=&W height=&H
复制代码
& ~) N3 s% n; `& _
程序读到&时,看到后面一个是N,就填入字符编码,看到是W,就填入宽度,这比使用编译原理来得简单,不知可不可行。
作者:
shane007
时间:
2010-4-25 22:25
谢谢楼上rendu2mai 的资料,其实,part2的类型有好多的。
w7 P8 W' H" X& M8 l$ f; H
远远不止2种,还有bin格式的,所以,是需要做模版的。
欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/)
Powered by Discuz! X3.2