THE NVL Maker

 找回密码
 注册
搜索
查看: 302|回复: 5

[界面编辑] 养成面板内如何使用预渲染字体

[复制链接]

11

主题

25

帖子

0

精华

游戏开发者

积分
25
发表于 2024-4-9 17:10:17 | 显示全部楼层 |阅读模式
D大好!如题,养成面板内如何使用预渲染字体,或者可能他支持使用预渲染?可我没试出来(乐)。因为即使我在字体设置一栏输入预渲染文件名也是没用的。

虽然如果不能显示预渲染字体的话也能用图片+变量搞出来一样的效果,但是还是想问一问。谢谢!!!!!
回复

使用道具 举报

16

主题

997

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1018
发表于 2024-4-10 09:02:28 | 显示全部楼层
字体设置不能输入预渲染文件名啦,
应该输入已经在外部用指令定义好的预渲染文件的对应字体+字号。
外部定义方法:
将当前字体字号设置为想要挂钩的字体,
如:
思源黑,22
mappfont挂钩预渲染字体文件1
思源宋,25
mappfont挂钩预渲染字体文件2
那么理论上来说在游戏其他ui里输入思源黑,设置字号22,就会显示预渲染字体1
但输入思源黑23就不会了,因为预渲染字体只绑定了一个字号。但少部分通过tjs代码drawtext到非kag层的ui不读这些,需要单独在代码里设置。
养成我记得用的是ptext所以应该是不需要单独写的。
回复

使用道具 举报

11

主题

25

帖子

0

精华

游戏开发者

积分
25
 楼主| 发表于 2024-4-10 22:24:15 | 显示全部楼层
VariableD 发表于 2024-4-10 09:02
字体设置不能输入预渲染文件名啦,
应该输入已经在外部用指令定义好的预渲染文件的对应字体+字号。
外部定 ...

谢谢d大!因为我只有一个预渲染字体,所以在养成界面填字体的时候就得把字体那一行留空直接写字号就能读取预渲染字体了。不过解决了就好,谢谢D大!有一些经验我放楼下了
回复

使用道具 举报

11

主题

25

帖子

0

精华

游戏开发者

积分
25
 楼主| 发表于 2024-4-10 22:32:52 | 显示全部楼层

----------------------------------
在此期间我学习了https://www.nvlmaker.net/bbs/for ... &extra=page%3D1这篇文章也跟着进行了修改,发现里面提供的悬停效果是报错的。而且预渲染字体缺点就是预渲染,字号固定。
但是我也不会改tjs,接着直接用bat大法。
思路是既然预渲染字体是解决了玩家没有安装字体的问题,那么直接第一次开始游戏的时候就安装字体不就好了吗?

  1. @echo off
  2. echo 正在安装必需文件,务必不要关闭此窗口。
  3. setlocal EnableDelayedExpansion
  4. for /f "delims=" %%i in ('dir /x /b *.?tf') do (
  5. set "zt=%%~si"
  6. mshta "javascript:new ActiveXObject('Shell.Application').NameSpace(20).CopyHere('!zt:\=\\!',0x0010);close()"
  7. )
  8. echo.
  9. echo 字体安装完毕!已重新启动游戏,三秒后自动关闭此窗口
  10. cd /d %~dp0..\
  11. start krkr.exe
  12. timeout /t 3 /NOBREAK
  13. exit
复制代码


将上述代码封装为font.bat批处理,随便命名就好,然后和需要的字体一起放在游戏目录内再建一个如font文件夹进去

游戏中在first.ks里加一行

  1. @eval exp=System.shellExecute(Storages.getLocalName(System.exePath+"font/"+"font.bat"))
  2. @close ask="false"
复制代码


这两行用@if弄一个变量,只需要第一次开始游戏的时候运行就好。

这个方法虽然阴间,但是完美解决了不会tjs又想达到差不多效果的窘况。当然如果会的话再手搓个注册表每次开始游戏的时候检测一下注册表如果没注册表就运行安装字体的bat。因为bat可以用vbe在后台运行。

确实挺阴间的(乐)。
回复

使用道具 举报

11

主题

25

帖子

0

精华

游戏开发者

积分
25
 楼主| 发表于 2024-4-10 23:47:37 | 显示全部楼层
liuzq233 发表于 2024-4-10 22:32
----------------------------------
在此期间我学习了https://www.nvlmaker.net/bbs/forum.php?mod=viewt ...

不对,我记得有addfont这个插件啊?
有没有一种可能直接把font放到data里然后System.addFont了?然后再配合预渲染字体一起用?
不好说了。

贴一个链接吧https://kibitz2550.blogspot.com/2012/08/kag-4.html,还得是经典,回头再试一试吧。乐
回复

使用道具 举报

16

主题

997

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1018
发表于 2024-4-11 07:15:59 | 显示全部楼层
在预渲染字体之前确实也做过这种(原版字体包进去+addfont),
不过总有部分玩家反馈掉字体(无法正常加载),特别是非简中玩家。
为了确保效果完全统一多做几个预渲染是最安全的了。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|nvlmaker

GMT+8, 2024-5-22 16:57 , Processed in 0.007786 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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