THE NVL Maker

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

[脚本编辑] 关于设置页使用timer做文字速度预览的问题(已解决)

[复制链接]

12

主题

28

帖子

0

精华

游戏开发者

积分
28
发表于 2024-5-20 10:43:15 | 显示全部楼层 |阅读模式
D大好!如题,我打算做一个在设置页的文字速度预览:
1 我现在first。ks里写下如下代码:
[iscript]
//计时器调用的函数
function optionf5()
{
kag.process('', '*刷新画面');
}
//新建计时器
f.timer=new Timer(optionf5,"");
//5000毫秒调用一次
f.timer.interval = 2000;
f.timer.enabled=false;
[endscript]


注:我把option的*刷新画面标签内写了相关的文字速度预览代码,只需要每两秒自动刷新画面就能自动滚文字

然后在option的开头调用timer,返回的时候false,测试了一下没什么问题,结果只是在设置页里返回标题后就出现了持续调用此timer的情况,即使再@eval让他等于false也没用。

(补档后脑洞大开)如何解决?把f.改成tf就能解决问题,至今不知道什么原因。毕竟看不懂都是照葫芦画瓢的……
不过也给8U们一个案例,至少这是一个实现设置页文字预览的好方法,就是不知道还可以优化一下让interval=自动模式的速度,但我不知道自动模式速度的数值是什么样,如果可以的话麻烦D大讲解一下这一块的数值问题,谢谢喵
回复

使用道具 举报

16

主题

1009

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1030
发表于 2024-5-21 17:57:03 | 显示全部楼层
看函数似乎就是:

    /**
     * 自動再生時待ち時間制御
     * 0~10で指定 (10が最速)
     */
    property autospeed {
        getter() {
            return 10 - (autoModePageWait / (autoModePageWaits.slow / 10));
        }
        setter(v) {
            autoModePageWait = (int)((10 - v) * (autoModePageWaits.slow / 10));
            autoModeLineWait = (int)((10 - v) * (autoModeLineWaits.slow / 10));

然后
;autoModePageWaits.slow = 2000; // 「遅い」

也就是config里面设置的最慢速度=默认是每页自动翻页前等待2000毫秒(2秒),将这个等待时间除以10来进行分段。10是完全不等待,0就是等待默认的值。
回复

使用道具 举报

12

主题

28

帖子

0

精华

游戏开发者

积分
28
 楼主| 发表于 2024-5-21 21:22:23 | 显示全部楼层
VariableD 发表于 2024-5-21 17:57
看函数似乎就是:

    /**

谢谢D大!已经解决了,相关整理和引申的新问题为了不让他看起来太长放在楼下了,再次向您请教一番。
回复

使用道具 举报

12

主题

28

帖子

0

精华

游戏开发者

积分
28
 楼主| 发表于 2024-5-21 21:28:47 | 显示全部楼层
谢谢D大!
方案就是tf.timer.interval = kag.autospeed*200;然后在刷新画面的时候先让这个timer暂停然后再打开,这样就达到了只有文字播放完才会等待。
这样就有个新的问题就是如果这个变量是0那就会出现0*任何自然数都是0就没法刷新。解决方法还是if一下,如果kag.autospeed=0那就直接让f.timer.interval=100。
当然在之前测试的时候会有一个情况是输入没有的变量之后就会没有等待时间直接循环,但是变量=0反而就不循环了……不知道为什么。
-------------------------------------------
接下来是一个相关的新问题,就是在文字播放的时候因为是直接locate然后直接在massage4上用游戏的方式走文字,在其播放的时候是没法右键返回的(对应到游戏中就是在播放文字的时候没法右键隐藏对话框)。但是总是感觉有相关的印象就是nvl里好像规定了在脚本播放的时候是没法右键的(?)所以还是向d大请教一下这方面的原因和解决思路!谢谢喵
回复

使用道具 举报

16

主题

1009

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1030
发表于 2024-5-21 23:25:02 来自手机 | 显示全部楼层
我没有规定过哦,如果有应该是kr引擎本身为了避免出现显示问题设置的吧?
回复

使用道具 举报

12

主题

28

帖子

0

精华

游戏开发者

积分
28
 楼主| 发表于 2024-5-22 11:24:54 | 显示全部楼层
VariableD 发表于 2024-5-21 23:25
我没有规定过哦,如果有应该是kr引擎本身为了避免出现显示问题设置的吧? ...

不好意思D大毕竟我也只是感觉有可能我也不知道在哪里看到然后脑子抽了罢 十分抱歉

解决方法就是单个文字nowait播放并保证不和按钮的message冲突就可以了。这样就差不多达到了一样的效果。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|nvlmaker

GMT+8, 2024-7-24 19:38 , Processed in 0.008604 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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