设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 4758|回复: 19
打印 上一主题 下一主题

解决66rpg对话加强脚本中无法使用汉字文件名的问题

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-1-31
帖子
29
跳转到指定楼层
1
发表于 2009-2-1 00:10:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv2.观梦者

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

2
发表于 2009-2-1 00:35:10 | 只看该作者
嗯,不错的想法,不过其实用一句转码就可以支持中文了……
不过一般文件名还是命名成英文的比较好……
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
446 小时
注册时间
2006-11-18
帖子
1686
3
发表于 2009-2-1 00:38:28 | 只看该作者
至少可以少打几个字母....英文的好..了...省得麻烦
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-1-31
帖子
29
4
 楼主| 发表于 2009-2-1 00:59:46 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

5
发表于 2009-2-1 17:23:46 | 只看该作者
  1. #------------------------------------------------------------------------------
  2. # Moonlight INN
  3. # http://cgi.members.interq.or.jp/aquarius/rasetsu/
  4. # RaTTiE
  5. # [email protected]
  6. #------------------------------------------------------------
  7. # EasyConv::s2u(text) : S-JIS -> UTF-8
  8. # EasyConv::u2s(text) : UTF-8 -> S-JIS
  9. #==============================================
  10. module EasyConv
  11. # API梡掕悢掕媊
  12.    CP_ACP = 0
  13.    CP_UTF8 = 65001

  14. #--------------------------------------------------------------------------
  15. # 仠 S-JIS -> UTF-8
  16. #--------------------------------------------------------------------------
  17. def s2u(text)
  18. # API掕媊
  19.    m2w = Win32API.new('kernel32', 'MultiByteToWideChar', 'ilpipi', 'i')
  20.    w2m = Win32API.new('kernel32', 'WideCharToMultiByte', 'ilpipipp', 'i')

  21. # S-JIS -> Unicode
  22.    len = m2w.call(CP_ACP, 0, text, -1, nil, 0);
  23.    buf = "\0" * (len*2)
  24.    m2w.call(CP_ACP, 0, text, -1, buf, buf.size/2);

  25. # Unicode -> UTF-8
  26.    len = w2m.call(CP_UTF8, 0, buf, -1, nil, 0, nil, nil);
  27.    ret = "\0" * len
  28.    w2m.call(CP_UTF8, 0, buf, -1, ret, ret.size, nil, nil);
  29.    
  30.    return ret
  31. end
  32. # module_function偲偟偰岞奐
  33. module_function :s2u
  34. #--------------------------------------------------------------------------
  35. # 仠 UTF-8 -> S-JIS
  36. #--------------------------------------------------------------------------
  37. def u2s(text)
  38. # API掕媊
  39.    m2w = Win32API.new('kernel32', 'MultiByteToWideChar', 'ilpipi', 'i')
  40.    w2m = Win32API.new('kernel32', 'WideCharToMultiByte', 'ilpipipp', 'i')

  41. # UTF-8 -> Unicode
  42.    len = m2w.call(CP_UTF8, 0, text, -1, nil, 0);
  43.    buf = "\0" * (len*2)
  44.    m2w.call(CP_UTF8, 0, text, -1, buf, buf.size/2);

  45. # Unicode -> S-JIS
  46.    len = w2m.call(CP_ACP, 0, buf, -1, nil, 0, nil, nil);
  47.    ret = "\0" * len
  48.    w2m.call(CP_ACP, 0, buf, -1, ret, ret.size, nil, nil);
  49.    
  50.    return ret
  51. end
  52. # module_function偲偟偰岞奐
  53. module_function :u2s
  54. end
复制代码

就是这个东西
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2008-8-20
帖子
159
6
发表于 2009-2-1 17:50:50 | 只看该作者
  1. # 检查指定路径的文件是否存在
  2. def checkfile(filepath)
  3. f = open(filepath,"r")
  4. if f!=nil
  5.    f.close
  6.    return true
  7. end
  8. f.close
  9. return false
  10. end
复制代码

这句似乎有问题
我用这个判断不行
这句是说某文件为空时返回false,没文件时好象不能返回,在open那段出错了
我看还是用“Dir["*"].include?”判断有没有文件好
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
21 小时
注册时间
2007-7-3
帖子
573
7
发表于 2009-2-1 17:52:54 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2008-8-20
帖子
159
8
发表于 2009-2-1 17:58:01 | 只看该作者
  1. # EasyConv::s2u(text) : S-JIS -> UTF-8
  2. # EasyConv::u2s(text) : UTF-8 -> S-JIS
复制代码

这不是说了么
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-1-31
帖子
29
9
 楼主| 发表于 2009-2-2 10:13:30 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2008-8-20
帖子
159
10
发表于 2009-2-2 17:33:58 | 只看该作者
  1. FileTest.exist?(EasyConv.s2u("Graphics/battlers/#{@face}"))
复制代码

这个方法好象用错了,应该是u2s不是s2u,不过转码是真的判断不了
你说用open没文件会返回nil,我测试过了
确实可靠
昨天你好象没加begin,
现在加了就真能判定了
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 10:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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