Project1

标题: [VX改VA脚本] 多个对话框同时显示 [打印本页]

作者: 辰落九缈    时间: 2020-2-26 11:31
标题: [VX改VA脚本] 多个对话框同时显示
本帖最后由 辰落九缈 于 2020-2-27 20:15 编辑

        有时候想表现人物同时说话的氛围,奈何对话框只能显示一个。我去论坛里逛了逛,发现都是花里胡哨的对话框加强,自己写又有各种bug(还是对ruby不熟悉),后来找到了一个VX脚本,发现作者的逻辑十分简洁,就改编成了VA脚本。
        VX脚本来源:https://lm-t.at.webry.info/200909/article_2.html
        作者的想法是在Window_Message类下增加子窗口,通过主窗口的更新一并更新所有子窗口,主窗口消亡则子窗口一并消亡。改成VA脚本后要注意的点就是Fiber,VA通过Fiber切换执行不同的代码。
        当所有窗口显示完文章,等待用户输入时,主窗口要判断用户是否输入确定键或退出键,如果用户没有输入就让出Fiber,如果用户进行相应的输入就往下执行,并且调用结束子窗口停顿的函数。子窗口停顿时,等待主窗口调用结束停顿的函数,如果主窗口没有调用就让出Fiber。
        这里只贴出核心代码:

脚本内容

        
用法:
        如果要显示多个对话框,每次在显示文章前,启用“脚本”功能,写入以下内容。
        Ex.submessage( idx, msg, fname, fidx, bktype, msgpos )
        #参数说明
        #idx:子消息id号(0或者1)
        #msg:["第一行文章内容", "第二行", ...]
        #fname:脸图文件名
        #fidx:文件中脸图id号
        #bktype:背景类型(普通:0,暗色背景:1,透明背景:2)
        #msgpos:对话框位置(上:0,中:1,下:2)

        使用样例:

        
        
        
        完整项目: HelloWorld.rar (1.42 MB, 下载次数: 116)


作者: 百里_飞柳    时间: 2020-2-26 12:38
本帖最后由 百里_飞柳 于 2020-2-26 12:39 编辑

如此脚本方式的对话框设置,总觉得会直接劝退很多想尝试的人

毕竟我自己的对话框只是扩展了转义符,就很多人根本搞不懂了
作者: 辰落九缈    时间: 2020-2-26 13:44
百里_飞柳 发表于 2020-2-26 12:38
如此脚本方式的对话框设置,总觉得会直接劝退很多想尝试的人

毕竟我自己的对话框只是扩展了转义符,就很多 ...

是的,没有很强烈的需求的话大家都尽量避免用脚本设置,尤其是带有这种代码形式的
只是以后如果有人有这种实现想法的话,也算多一份参考吧
作者: OldWhite_M    时间: 2020-2-26 15:29
围观一下,可能以后会用到,留着备用。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1