楼主: 神思

[随意闲聊] 游戏内嵌输入法。[更新字母。]

  [复制链接]

彩色的银子

梦石
0
星屑
50
在线时间
190 小时
注册时间
2006-6-13
回帖
1260

贵宾

 楼主| 发表于 2010-8-22 13:02:20 | 显示全部楼层
本帖最后由 神思 于 2010-8-22 13:05 编辑
WinIME 动态链接了 VC++ 运行时的函数:
    MSVCR90.dll
              10002050 Import Address Table
   ...
紫苏 发表于 2010-8-22 02:32



{:nm_7:}其实关于这个CRT我真的不太明白。
好像是C依赖。?
那应该如何添加呢。?
回复

使用道具 举报

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
回帖
1912
发表于 2010-8-22 13:51:21 | 显示全部楼层
回复 神思 的帖子

就是 DLL 本身的代码段里没有 CRT 的代码,而是在运行时动态链接已有的 CRT 的 DLL(MSVCR90.dll)调用里边的函数。一般如果有多个 DLL 用到了 CRT 就可以在发布的时候附上这个 DLL,否则就可以做一个静态链接,这样用到的函数代码会在编译时就链接到自己写的 DLL 里(前后可以看到 DLL 的体积差别)
在 VS 的 IDE 里具体方法是:设置 [工程选项 - 配置属性 - C/C++ - 代码生成 - 运行时库] 为多线程 /MT 即可
回复

使用道具 举报

彩色的银子

梦石
0
星屑
50
在线时间
190 小时
注册时间
2006-6-13
回帖
1260

贵宾

 楼主| 发表于 2010-8-22 13:56:52 | 显示全部楼层
本帖最后由 神思 于 2010-8-22 14:00 编辑

{:nm_7:}容量猛增加5倍......

对了,我还有一个问题,就是,怎么判断一个键是否一个可输入的字符呢。?

比如按下BackSpace时=。=也会有个CHAR消息啊。而且值是8.。。。。
-.-
回复

使用道具 举报

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
回帖
1912
发表于 2010-8-22 14:14:36 | 显示全部楼层
http://www.asciitable.com/

应该就 13、32 到 126 这些吧

点评

呵呵,感激不尽。。  发表于 2010-8-22 14:55
9 - 制表符  发表于 2010-8-22 14:15
回复

使用道具 举报

66RPG站长

梦石
0
星屑
54
在线时间
615 小时
注册时间
2005-10-10
回帖
4793

RMVX自由创作大赛亚军第2届短篇游戏比赛亚军第5届短篇游戏比赛冠军

发表于 2010-9-9 00:19:12 | 显示全部楼层
唔,顶一下,准备用这个了……神思能提供保修服务么?
————————————————————————————————————————
经检查,问题还是不少,下面我准备用10连贴展示一下这个系统融入到格斗纹章的过程囧……

评分

参与人数 1星屑 +20 收起 理由
moy + 20 10连帖自重= =...但是咱要看o(╯△╰)o ...

查看全部评分

回复

使用道具 举报

梦石
1
星屑
12014
在线时间
4535 小时
注册时间
2005-10-22
回帖
7097

开拓者贵宾

发表于 2010-9-9 02:33:53 | 显示全部楼层
邪恶地插楼打断10连
回复

使用道具 举报

66RPG站长

梦石
0
星屑
54
在线时间
615 小时
注册时间
2005-10-10
回帖
4793

RMVX自由创作大赛亚军第2届短篇游戏比赛亚军第5届短篇游戏比赛冠军

发表于 2010-9-9 02:49:40 | 显示全部楼层
未标题-1.png
初步能用了,目前还只有一个窗口。另外每次初始化的时候有一个小窗不知为啥……
回复

使用道具 举报

66RPG站长

梦石
0
星屑
54
在线时间
615 小时
注册时间
2005-10-10
回帖
4793

RMVX自由创作大赛亚军第2届短篇游戏比赛亚军第5届短篇游戏比赛冠军

发表于 2010-9-9 03:12:47 | 显示全部楼层
连贴3号:已经被改得很混乱了……
发现小bug一个:
Window_Description的refresh:
return self.clear if des == "\000"
return if @temp == des
这个,对只有一种输入法+一种英文的电脑来说,切换掉之后就回不来了……
修改为:
    if des == "\000"
      @temp = des
      self.clear
      return
    end
    return if @temp == des

唔……继续努力中……
回复

使用道具 举报


  • 更新完成啦
  • 梦石
    0
    星屑
    894
    在线时间
    6267 小时
    注册时间
    2006-6-7
    回帖
    8173
发表于 2010-9-9 04:25:03 | 显示全部楼层
初步能用了,目前还只有一个窗口。另外每次初始化的时候有一个小窗不知为啥…… ...
柳柳 发表于 2010-9-9 02:49

纳尼?柳你要弄一个积分上传吗?

回复

使用道具 举报

66RPG站长

梦石
0
星屑
54
在线时间
615 小时
注册时间
2005-10-10
回帖
4793

RMVX自由创作大赛亚军第2届短篇游戏比赛亚军第5届短篇游戏比赛冠军

发表于 2010-9-9 05:19:56 | 显示全部楼层
回楼上,不是积分上传,而是如果验证是6R用户,可以获得7点试玩点数,用来开启游戏中的战役

未标题-1.jpg
继续,话说居然在笛子的要求下,输入密码变成了这个样子

好了,基本bug都解决了,下面就看DLL有没有一些奇怪的bug了……N多有点内存小泄露的DLL在我这个杯具游戏中都会被报错,被报错……话说这个范例工程也没有测试.dispose的情况,还是如此学院派啊……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部