幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 5186|回复: 11

7.24 GM6.1总于实现了字库点阵绘制!

[复制链接]

8

主题

16

帖子

236

积分

③业余

积分
236
发表于 2006-7-24 14:51:17 | 显示全部楼层 |阅读模式
时间:7月24日
    GM6.1总于完成了点阵法绘制,在GM6.1中文绘制的发展历程中,我们最早想到的是用图片绘制,但是其较大的空间占用和不便于修改和查看,并没被广泛使用,属于第一代GM6.1中文绘制,而后的发展是采用Dll生成新的窗口,在新窗口内绘制中文,但是因为其技术上并不是很便利,效果上也不是很好,所以只是有少部分人使用了,属于第二代GM6.1中文绘制,现在技术上终于突破到了第三代,通过点阵绘制,虽然可供选择的字体和字号比较少,但是已经近乎完美的在GM进行中文绘制,打破以往种种的技术限制,为GM中文绘制打开了一个新的局面。

代码作者:与或非
源代码地址:http://www.diygame.cn/ShowPost.asp?ThreadID=568
回复

使用道具 举报

9

主题

1512

帖子

9136

积分

荣誉群

Cod3r

积分
9136

终身成就奖

发表于 2006-7-24 15:52:52 | 显示全部楼层
實現這點以後,RMXP就沒什麼優勢可言了,
GM在圖像能力和功能上基本好很多。

其實那個字庫先讀進內存是比較好的,結束的時候會被GM釋放,並沒有什麼問題
(\\__/) (O.o ) (> < ) This is Bunny.
回复 支持 反对

使用道具 举报

50

主题

994

帖子

6699

积分

管理员

爱干啥干啥!

Rank: 9Rank: 9Rank: 9

积分
6699
发表于 2006-7-24 17:17:26 | 显示全部楼层
描点……应该会比较慢的说,而且,绘出的汉字很生硬。

既然已经是描点了,不知道能不能挂Freetype的字体绘制库,Freetype生成的也是点阵图,只不过是256级灰度的,可以有较柔和的过渡。

其实也可以加载个包含全部汉字的Texture,按照汉字编码往出抠图,这样只要Texture够漂亮,字体就足够漂亮。不知道GM实现这种方式快不快……貌似ED6就是这样来绘制汉字的。

RMXP的字要漂亮很多,支持各种字体,并且边缘是经过柔化的。
这一点还是比较有优势的~

“放下屠刀,立地成佛” 故应先杀生,然后再成佛。

(\\_/) (-_-) ()+() this is bunny priest.
回复 支持 反对

使用道具 举报

8

主题

16

帖子

236

积分

③业余

积分
236
 楼主| 发表于 2006-7-24 17:56:21 | 显示全部楼层
的确,现在RM的绘制效果还是比GM好~毕竟是直接从win系统里面调用字库~win的字库已经相当成熟了~相比我们使用的还是UCDOS下老一辈高手编写的字库~差距肯定是有的~但是值得我们欣慰的是~和win系统的无关性~使得它能在国外的任何机子上显示中文~呵呵~虽然老外看不懂~还有就是不会因为系统版本问题造成字体的不一致~能够保证游戏的界面和当初开发的效果一样~

主要是一旦开始点阵绘制~意味着我们就能自己做中文UI了~以前5.3的中文UI也能够被移植到6.1上来,这样的优势使我们开发中文商业游戏又近了一步。

如果有更好的字库~想必能实现得更好~
回复 支持 反对

使用道具 举报

9

主题

1512

帖子

9136

积分

荣誉群

Cod3r

积分
9136

终身成就奖

发表于 2006-7-24 18:07:40 | 显示全部楼层
這樣吧...貼個相關又無關的東西,FreeType的字型繪製

http://www.rpgchina.com/_tmp/FTRender.rar
移除以後就不補檔了,反正只是小範例

你可以抽換字型...文件名一樣就好(必須是TTF文件)
我在旋轉的時候畫了一個方塊在背景證明文字是透明的

這個方法也是跟系統語系無關的.....
我們的中/日UI都是基於這方法做的
(\\__/) (O.o ) (> < ) This is Bunny.
回复 支持 反对

使用道具 举报

50

主题

994

帖子

6699

积分

管理员

爱干啥干啥!

Rank: 9Rank: 9Rank: 9

积分
6699
发表于 2006-7-24 19:14:38 | 显示全部楼层
引用第3楼bilvdehu2006-07-24 17:56发表的“”:
的确,现在RM的绘制效果还是比GM好~毕竟是直接从win系统里面调用字库~win的字库已经相当成熟了~相比我们使用的还是UCDOS下老一辈高手编写的字库~差距肯定是有的~但是值得我们欣慰的是~和win系统的无关性~使得它能在国外的任何机子上显示中文~呵呵~虽然老外看不懂~还有就是不会因为系统版本问题造成字体的不一致~能够保证游戏的界面和当初开发的效果一样~

主要是一旦开始点阵绘制~意味着我们就能自己做中文UI了~以前5.3的中文UI也能够被移植到6.1上来,这样的优势使我们开发中文商业游戏又近了一步。

如果有更好的字库~想必能实现得更好~

那种点阵字库可以很容易作出来的,汉化游戏ROM的时候,用的都是这种字库啊。
什么字体都可以得到,不需要从UCDOS什么东西里面找。有个软件叫:
点阵汉字生成
可以做任意大小的任意字体点阵。需要的话我在这里传一份给你。

关键是美观程度,阴影还是比较好实现的,边缘的反锯齿比较麻烦。Freetype就是做这个的,既然有志做GM的本土化不妨研究研究……想开发商业游戏还是漂亮点比较好。

“放下屠刀,立地成佛” 故应先杀生,然后再成佛。

(\\_/) (-_-) ()+() this is bunny priest.
回复 支持 反对

使用道具 举报

9

主题

1512

帖子

9136

积分

荣誉群

Cod3r

积分
9136

终身成就奖

发表于 2006-7-24 19:16:03 | 显示全部楼层
握手...FreeType才是王道(這樣說有點奇怪就是了)
(\\__/) (O.o ) (> < ) This is Bunny.
回复 支持 反对

使用道具 举报

20

主题

83

帖子

865

积分

⑤进阶

积分
865
QQ
发表于 2006-7-24 19:29:11 | 显示全部楼层
会的 我们只需要一点点时间而已
回复 支持 反对

使用道具 举报

9

主题

1512

帖子

9136

积分

荣誉群

Cod3r

积分
9136

终身成就奖

发表于 2006-7-25 01:41:39 | 显示全部楼层
我最早實現FreeType繪製字元是在FreeBASIC下...
fbasic現在有Unicode支持顯示多國語言不是問題。
雖然我現在可以在其他語言下實現,但是也沒什麼時間搞。

要在GM下用到硬件加速的好處的話,大致思路是這樣吧
宣告區碼-&gt;轉成寬字符集-&gt;傳到FreeType並產生字型-&gt;丟出轉換好的點陣圖
-&gt;轉為GM專用材質供應用

用Unicode做思路會比較方便就是了,但攜帶TTF字型卻是很大,不太方便。
PS一下,我現在用的Compiler都支持Unicode了,所以我幾乎沒考慮ASCII的東西。

但是點陣字型來說,稍微小點的字,如果不是特殊設計好的字型
(簡體下是宋体,繁體下是明体)幾乎都會糊成一片。

堅持要用點陣的話,我的建議是,使用2倍大的字型,
應用時縮小,然後周圍加一像素的Blend,會美觀一點。
(\\__/) (O.o ) (> < ) This is Bunny.
回复 支持 反对

使用道具 举报

2

主题

134

帖子

1016

积分

⑥精研

积分
1016
发表于 2006-7-25 06:19:35 | 显示全部楼层
堅持要用點陣的話,我的建議是,使用2倍大的字型,
應用時縮小,然後周圍加一像素的Blend,會美觀一點。
说实话我不喜欢这种方法
日本人喜欢这样做,可是我用在中文上很难看
按照我的试验,直接用1倍字型效果最好,即使是放大也比缩小效果好
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-26 11:52 , Processed in 0.030811 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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