设为首页收藏本站官方微博

汉化资料 纵向点阵模板复用法----图片AVG汉化新思路(2009.8.14更新)

[复制链接]
查看: 2413|回复: 7
打印 上一主题 下一主题

[汉化资料] 纵向点阵模板复用法----图片AVG汉化新思路(2009.8.14更新)

跳转到指定楼层
楼主
发表于 2009-8-13 22:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

纵向点阵模板复用法----图片AVG汉化新思路(2009.8.14更新)

最近又想出来一个新的汉化方法,不过还不成熟,在此先简单写一下,记录下来。
: j1 G6 `- P1 d! X& e接下去还需要制作一些工具来统计和验证。 8 ~8 y: j. G$ A

7 O+ r- H( `: ]/ j: @, H前提
7 l: @# g; Y8 o此方法的适用前提是相邻的2个字母图片之间可以做到无缝连结。 ; y  Y$ X4 l. ~! c
或者是通过修改参数可以做到相邻的2个字母图片无缝连结。
1 e9 W! ]' F. |0 P要做到这一点应该不难。
. t$ r7 ]7 ^3 o4 ^
* G* g1 i; z1 {* Q基本思路
! T2 B6 S4 ^% L6 l" ]# s一般的图片字库大约是定义了256个字母,用这些字母来拼凑出对话中的句子。 + B1 |. F) n, v
一个中文AVG中用到的不重复的中文字一般有1000-2000个,大大超出了256的范围。 ( P5 m0 z; {$ J
有没有办法用256个小图片来拼凑出1000-2000个中文字呢? ; G0 D- B: J& v+ p' Y1 Z5 h$ k8 p* h
我想出了一下的这个方法。我把它叫做纵向点阵模板复用法。
. w% q$ x+ G; i# ?  w' p0 Q  G" `' s9 f* k4 W
这个思路来源于点阵字库。 / G7 @. }( e! E
我们先看一下8X8的中文点阵字库。8X8的中文点阵字库每个字是由8X8共64个点组成的。 + ^; ^) X' m. [7 {
这8X8共64个点中,每一列我们把它叫做一个纵向点阵模板。 ( h1 f8 X% i3 n8 {
这样的纵向点阵模板最多有几种呢?对于1列是8个点的8X8中文点阵字库来说是2的8次方, / {! r8 p# J) m5 S( B3 E* `
刚好是256种。 + t4 I* f2 b6 N" ^
! q8 b. d2 o  ]8 x( I$ s
我们把图片字库的每一个字母都定义为这256种纵向点阵模板中的一种。 $ B0 s+ |1 ]- r, z% n% `
这样就能把所有的中文汉字都拼凑出来了。是不是很简单。
, T& c8 k; E0 E
5 T4 i) A" U4 g3 H. U, X  s一些问题
2 z9 S- g3 f# Z如果在8X8中文点阵字库的基础上定义纵向点阵模板的话,有以下几个问题。 1 l7 y6 ?* J& U& D! l( Q* e  l, O' v
1.8X8中文点阵字库比较小,所以不放大的话基本是看不太清楚的。
  {  S) q9 n; a, w6 i# K& ?9 N$ z. G  一般来说,我们需要把定义的纵向点阵模板在横向和纵向都放大2倍。 - |: C5 w# ~4 O3 z0 f( I. N5 z
  这样基本可以看清楚了。也就是说1个点都变为4个点再定义到图片上。
2 h5 T3 F* j( o9 P9 J% M& F/ u  对于一些看不太清楚的点可以手工修改一下,是它看起来更清晰一些。 5 _) I/ O& N2 v8 m  U0 h  s! ~

- M/ ]9 N5 L. \6 L- A; n, q# u& j3 K2.字幕文件的大小将会是原来的8倍
$ _) }& }( Y6 _# R  这个很好理解,原来表示一个字符需要1个图片,现在需要8个纵向的小图片才能拼凑出一个中文字。 # {9 U4 x* ^& d+ g0 [( C4 E  W
  不过现在电脑的内存都比较大,载入一个10多M的字幕问题应该不大。 " U/ Y4 K9 H$ U2 W9 x9 [
  但是怕游戏内部有限制。 ! a( x7 Y0 ?- D5 e: {) F0 @
1 m2 h8 R$ f0 J' ]0 \( Z" ~7 h
高于8X8点阵的情况
2 [0 d- n/ m  w& a$ {' L3 G由于8X8点阵比较小,看起来比较吃力,是不是有可能拼凑出高于8X8点阵的汉字呢? - K  Y$ A  i* s/ R
可能性是有的。 7 t0 |2 ]% _" ?+ m% q4 ?5 |% W
( M3 o7 M; V2 H
1.假如游戏不仅在横向可以做到图片的无缝连结,还能在纵向的上下2行也能做到无缝连结的话。 4 u/ X9 g! c2 I2 S# _0 e
  我们就可以利用上下2行来拼凑出一个16X16点阵的汉字。
) ^. _' ]  v+ H- ~' V( J. Z  {  也就是说原来需要8个纵向的小图片,现在需要上下2行共2组共32个纵向的小图片来拼凑出一个汉字。   M, q) v2 }8 |9 k% _+ J
  这样的话,字幕文件的大小将会是原来的32倍。 % R0 q2 @" v9 _- R3 C/ L
  这样做的效果应该是不错的,也不需要再放大了。
5 a+ F' u6 Y) N5 w3 y
  a! C# ]+ I6 m2.还有介于8和16的点阵,应该也是有可能性的。
3 M# _% c' f2 z$ ]  这就和具体的游戏有关系了。要看这个游戏使用到的不重复的汉字共有多少个。
' u- w/ a4 N4 q& S' S, s  然后再用程序计算出最少要用多少个纵向点阵模板才能表示出这些汉字。
6 P- M7 ^, i6 i  如果要超过256个才行的话,就行不通了。
+ S: g2 M/ r. L' ?( X3 L# w/ C2 }, H3 {
  这个新思路暂时先写到这里,欢迎看得懂的朋友提问和发表看法。 ' ]% G" J. g/ W) p% s" o$ A

( u2 q& O& d% R- n' M9 ]( P------------------------------------------------- + ~3 F3 a5 R2 R( g
2009.8.14更新 ' a9 V5 E' E  b% i6 B+ Y1 L+ G
放上一张图,说明一下什么是左右和上下的无缝连结。# H/ D1 E, k. A" Z4 \0 l2 `: i
这张图片来自游戏静物前传,我把图片字库全部给涂上颜色。$ g2 l6 D& W0 D: @2 }
放入游戏就看到了如下的效果。象这样的游戏应该还有不少。
) o' ~1 |1 Y  u3 T但是对于这个游戏来说,图片字库的宽度不知道是在什么地方被设置的。6 O; ^0 a1 p5 P, |0 X6 u$ i, _
所以暂时无法使用本方法。
. N$ c; `0 }' G1 V% m3 r

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
 楼主| 发表于 2009-8-14 16:19 | 只看该作者
2009.8.14更新
回复 支持 反对

使用道具 举报

板凳
发表于 2009-8-14 20:46 | 只看该作者
图片宽度的定位能否解决?需要修改还是保持原样?, n- F( t' ?' L4 |5 W! w0 @" A+ c, D9 D
特别是对于图片宽度的定位不是一个线性关系的。
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2009-8-14 21:09 | 只看该作者
回楼上的 * @! z# F0 G5 T2 b6 C& s  @
! Q" B* e( b. |
图片宽度的定位能否解决? # P0 d/ B5 V& h( D9 t  h& |- O
对于静物前传这个游戏还没找到修改的办法。 / @% b5 P& j& O& c! x/ O5 n
不过别的游戏应该可以。一般来说每个字母的图片的宽度被定义在一个XML文件里面,是可以修改的。
3 S5 ^& M$ a# `/ f1 L8 E
( r0 I  k/ {6 }' A2 L+ A需要修改还是保持原样?
, I3 j1 {) d, y" j: u2 ]( |% Q
当然是要修改的。如果你看懂上面的方法的话,应该知道要把宽度都修改为1个像素。 " W$ F" h3 M/ Z" a( v7 V

$ y7 |0 g" ^! \% o% L* y特别是对于图片宽度的定位不是一个线性关系的。
1 P, }7 w4 ^, y2 F, a
你这个问题我没看懂。你是指不等宽的图片吧?
( r' s& H" S& a4 f/ f把宽度都修改为1个像素就行。
' {+ H3 }/ T# ?1 x2 h. Y6 M$ y9 W% U, R1 Z, t" L. O: g9 Y
欢迎提问。
回复 支持 反对

使用道具 举报

5#
发表于 2009-8-14 21:25 | 只看该作者
版主回的真快啊!
7 O: q! ~: [; s' S: o, }( J鼓掌!!
" f5 {6 g5 u( H; u7 g
: v) {: P5 n' s% I! F/ m3 r谢谢回答。
回复 支持 反对

使用道具 举报

6#
发表于 2010-3-14 16:24 | 只看该作者
我想了2天后,想明白了你这种方法。不清楚是不是,希望007给予解正; ~6 u8 G- S/ r/ D0 c
9 [+ A) g( j! B3 X$ o' I
以"我”字模板为例子 12X12,
$ r0 {5 y. K# @: O0 v; e9 D6 `. d% m& i, Z4 i# P
0 z7 A' k7 z  a( l4 [
; V1 a4 [, n3 c) }. A2 p
“我”字模板
- c2 Z2 I! \% q" N9 L1 v
  \& A/ K9 m: b& w5 ?( q. ?6 G' Z
7 c1 v0 R' x0 ]3 j3 p5 m. d4 L4 z* X, |+ c0 y  t& [8 Y
汉化测试的效果"美国”8x8- z# C7 w+ b. e4 e& d

/ b: W- F2 \) f7 P

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2010-3-14 20:09 | 只看该作者
看来你已经搞懂了一半。9 K2 Q1 }2 ?" |: Y+ D
. p' ^# F" H$ ?8 T/ ~
每个模板的定义方法就像你的图片所示。
9 p) X  b! g' f. C$ F但是,你把每个模板定义为1X12的大小,这是不对的。
8 b% C- k0 `; L* R( }7 l1X12的模板有多少种呢?有2的12次方也就是4096种,但是由于游戏是单字节的,; N( e. j+ y5 M9 i3 p6 W: S( G) P
显然无法定义这么多种模板,最多定义256种模板。
- ?, l( @' P% Z' F- Q# @2 M1 |; H1 k5 s3 g+ u
所以,我们要把模板定义为1X6大小的,每个汉字由24个1X6的模板来拼而不是12个1X12的模板。
3 J1 D8 Y, w+ a" r7 x# \- N! g( Y1 t' M也就是说一个汉字也分上下2行来拼。
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2010-3-14 20:09 | 只看该作者
看来你已经搞懂了一半。
) [3 }4 p# Q8 N8 Y! W6 j
( |' J! g0 U' B$ `1 F/ _) {6 w: A每个模板的定义方法就像你的图片所示。0 o( l: y3 U0 y* |0 K9 m
但是,你把每个模板定义为1X12的大小,这是不对的。
0 U2 o' H! G  Q1X12的模板有多少种呢?有2的12次方也就是4096种,但是由于游戏是单字节的,
6 X  T( P  Y1 N! g5 H. Y! Z: e* f显然无法定义这么多种模板,最多定义256种模板。& E  S- K( T+ J" Q; q8 A

: j, |* ?& G7 |6 v. S+ p& w% @% I所以,我们要把模板定义为1X6大小的,每个汉字由24个1X6的模板来拼而不是12个1X12的模板。
3 G! t2 O8 a! |! P也就是说一个汉字要分上下2行来拼。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

快速回复 返回顶部 返回列表