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

Project1

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

[已经解决] 请教像VA那样的自动载入字体在XP里怎么实现?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
167
在线时间
434 小时
注册时间
2009-1-1
帖子
643
跳转到指定楼层
1
发表于 2014-6-20 13:33:42 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

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

x
VA有个Fonts文件夹,把字体文件放入其中就能自动载入了
但XP的不行,虽然有自动载入字体脚本,但只要路径变一变或者字体文件移动变更两下就会出bug、以及某些机器会失败
不知道VA是怎么实现的?XP的话有没有办法也想VA那样实现吗?
最近在研究XAS

Lv1.梦旅人

梦石
0
星屑
167
在线时间
434 小时
注册时间
2009-1-1
帖子
643
9
 楼主| 发表于 2014-6-20 19:53:40 | 只看该作者
fux2 发表于 2014-6-20 19:31
现在在用别人的机器,没有vs,这玩意太大了。
至于脚本无效的原因,我之前听人说过好像是某个操作只在启 ...

原来是这样
刚刚百度“C++ 遍历文件夹”发现并不容易,等有vs的时候就拜托了哦~
顺便刚刚有提到了用这个可以加密?一般来说是怎样的思路呢?
最近在研究XAS
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
41150
在线时间
7572 小时
注册时间
2009-7-6
帖子
13499

开拓者贵宾

8
发表于 2014-6-20 19:31:45 | 只看该作者
赛露休斯 发表于 2014-6-20 19:21
对C完全外行呢,装VS一共才学过几天就被难倒了orz,连遍历文件夹也不会...能不能帮忙写一下遍历代码呢?
...

现在在用别人的机器,没有vs,这玩意太大了。
至于脚本无效的原因,我之前听人说过好像是某个操作只在启动时执行一次,
具体的记不清了,总之就是没用= =
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
167
在线时间
434 小时
注册时间
2009-1-1
帖子
643
7
 楼主| 发表于 2014-6-20 19:21:34 | 只看该作者
fux2 发表于 2014-6-20 19:13
核心不过是这个而已你自己遍历fonts文件夹得到字体文件名,赋给这个pbuf就行了。
然后,这里是RM的提问区 ...


对C完全外行呢,装VS一共才学过几天就被难倒了orz,连遍历文件夹也不会...能不能帮忙写一下遍历代码呢?
另外话说我在一些RGSS自动加载字体脚本里也有看到AddFontResourceEx这个,编译到exe里和直接写脚本有什么不同吗?
最近在研究XAS
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
41150
在线时间
7572 小时
注册时间
2009-7-6
帖子
13499

开拓者贵宾

6
发表于 2014-6-20 19:13:48 | 只看该作者
赛露休斯 发表于 2014-6-20 19:09
对了,字体这段代码能不能弄成载入指定文件夹内的字体那样子呢?
总觉得在ini里面编辑,玩家会随意修改
...

核心不过是这个而已
  1. AddFontResourceEx(pBuf, FR_PRIVATE, 0);
复制代码
你自己遍历fonts文件夹得到字体文件名,赋给这个pbuf就行了。
然后,这里是RM的提问区,这么问偏题很厉害了。
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
167
在线时间
434 小时
注册时间
2009-1-1
帖子
643
5
 楼主| 发表于 2014-6-20 19:09:57 | 只看该作者
本帖最后由 赛露休斯 于 2014-6-20 19:11 编辑
fux2 发表于 2014-6-20 19:06
代码单独复制过去就可以了,如果你不需要紫苏dll 的其他功能。
在夏娜播放器里有步骤注释,步骤1设置RTP ...


对了,字体这段代码能不能弄成载入指定文件夹内的字体那样子呢?
总觉得在ini里面编辑,玩家会随意修改
最近在研究XAS
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
41150
在线时间
7572 小时
注册时间
2009-7-6
帖子
13499

开拓者贵宾

4
发表于 2014-6-20 19:06:09 | 只看该作者
赛露休斯 发表于 2014-6-20 19:00
这一段源码,复制到夏娜的播放器编译可以吗?还是必须要dll?
另外复制到哪个位置? ...


代码单独复制过去就可以了,如果你不需要紫苏dll 的其他功能。
在夏娜播放器里有步骤注释,步骤1设置RTP的前面加上这一段就行。
在这里你还可以去掉debug信息,还可以加密噗哟哟233
用法和紫苏dll一样,写在ini里,记得看紫苏dll的使用说明。
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
167
在线时间
434 小时
注册时间
2009-1-1
帖子
643
3
 楼主| 发表于 2014-6-20 19:00:24 | 只看该作者
本帖最后由 赛露休斯 于 2014-6-20 19:05 编辑
fux2 发表于 2014-6-20 17:37
紫苏的启动时获得句柄的dll是开源的,
夏娜也提供了播放器的源码,
你只要有vs,然后把dll源码部分的这一段 ...


这一段源码,复制到夏娜的播放器编译可以吗?还是必须要dll?
另外这段代码能不能弄成载入指定文件夹内的字体那样呢?
最近在研究XAS
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
41150
在线时间
7572 小时
注册时间
2009-7-6
帖子
13499

开拓者贵宾

2
发表于 2014-6-20 17:37:54 | 只看该作者
紫苏的启动时获得句柄的dll是开源的,
夏娜也提供了播放器的源码,
你只要有vs,然后把dll源码部分的这一段
  1.     char buf[256], *pBuf = buf;
  2.     GetPrivateProfileString("Font", "names", "", buf, 256, szIniPath);
  3.     while(*pBuf) {
  4.         char *p;
  5.         for(p = pBuf; *p != 0 && *p != '|'; ++p);
  6.         if(*p) {
  7.             *p = 0;
  8.             ++p;
  9.         }
  10.         AddFontResourceEx(pBuf, FR_PRIVATE, 0);
  11.         pBuf = p;
  12.     }
复制代码
复制进去,编译生成就可以使用了。

评分

参与人数 1星屑 +100 收起 理由
RyanBern + 100 认可答案

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-30 23:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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