回复:Planetarian 汉化测试第一版下载
以下引用kkkklll在2004-12-17 11:03:37的发言: 多谢大家的测试和意见。
不过DirectDraw这东西,老实说,偶不会,最近也没时间去学。据说是好繁的说。偶只会直接用CopyRect、OutText之类的写屏。因为我毕竟不是这方面的专业人员,比起系统,我更熟悉算法。
上面的那些日文的擦掉后是黑的的问题,估计可以用让它不显示日文来解决(正在进行中……)。还有我的屏幕从来都是800*600的,所以没有考虑其他分辨率……呵呵。下次看看能不能加上去。
全屏模式下显示出错的问题,我怀疑是用的Delphi版本有Bug(原来用的是6.0,正在下载最新版)或者是某些函数在某系统的全屏下无效?……(呵呵)
用到函数:CopyRect和Mask、GetDC。有哪位大侠知道吗?
|
楼上用的函数在Win9X以上的系统中都能用(参考MSDN2003 Oct),但是问题是游戏是基于DirectX的程序,其优先级很高,而且是以缓存+换页的方式显示,自然在覆盖上会存在问题。不知道楼主会不会把文字写在一张位图上(反正我不会),位图字用颜色0xFFFFFF,底版用颜色0x000000,建立一个程序MainForm的DC,把位图载入DC中用光栅运算“AND”,这样就获得抠像后的文字DC,禁止日文显示后,反复将这个DC复制到窗体本生的DC中或许可以解决覆盖问题。至于文字移位的问题我建议统一一下DirectX的版本收集测试结果,如果确认是操作系统的兼容问题,那么就在启动时先识别操作系统版本,分别确定左上角位置。
我还有一种想法:继承游戏的主窗体再建一个子窗体,用SetWindowPos()函数(记不清是不是这个名字来着)将窗体置为最前,然后把文字显示在那个窗体上....