找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 186|回复: 4

[经验] “如何将选项选择的内容添加进对话历史当中”解决方法

[复制链接]
发表于 2024-4-20 19:58:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 烈林凤 于 2024-4-21 02:53 编辑

关于这个功能的实现原理可以参考埋土的机械龙的教程(原作者在本帖2楼)



即使用add_history方法,在文档中确实没有加入这个方法,我搜了一圈也没人使用过该方法的。
(实际上,只要使用以下一段代码就可以做成和教程里一样的效果)
[RenPy] 纯文本查看 复制代码
$ narrator.add_history(kind=None,who=None,what="这句话只会在对话历史中显示一次。")



在龙叔的教程中,使用了一个“手动将对话添加进对话历史中”的功能的例子,但很显然这个例子并不实用。
于是,我根据记忆在论坛交流群中找到了“如何将选项内容添加进对话历史”的提问,并成功解决了这个问题
需要在screen.rpy文件里搜索screen choice(items)的位置,并在此下面进行修改
以下就是代码
[RenPy] 纯文本查看 复制代码
screen choice(items):
    style_prefix "choice"

    vbox:
        for i in items:
            # textbutton i.caption action i.action
            textbutton i.caption action [i.action, Function(narrator.add_history, kind="adv",who=None,what=i.caption)]

用这个办法就能达成效果



————————————————————————————————————————分割线————————————————————————————————————————


感谢龙叔提供的方法,关于“如何将选项选择的内容添加进对话历史当中并高亮显示”的解决办法也有了

首先,需要定义一个带有颜色标签的角色
[RenPy] 纯文本查看 复制代码
define menu_color = Character(name=None,what_color="#FF0000")


然后需要在原本修改选择屏幕的位置再进行修改
[RenPy] 纯文本查看 复制代码
screen choice(items):
    style_prefix "choice"

    vbox:
        for i in items:
            # textbutton i.caption action i.action
            textbutton i.caption action [i.action, Function(menu_color.add_history, kind=menu_color,who=None,what=i.caption)]


最后在screen history()中进行修改
[RenPy] 纯文本查看 复制代码
# text what:
    # substitute False
text what:
    substitute False
    if "color" in h.what_args:
        color h.what_args["color"]


这里额外说明一下add_history的使用方法
需要在add_history前添加角色名(name.add_history),然后需要在此之后添加括号与三种属性(name.add_history(kind=,who=,what=))
kind:代表着角色所使用的模式,可以填入adv、nvl、角色名、None等
who:代表着角色的名字,可以填入字符串等
what:代表这角色的对话,可以填入字符串等
在label中需要用python语块进行调用,即$
在action中需要使用Function()行为(否则会发生可怕的事情),此时需要将name.add_history与后面三种属性分开来书写(Function(name.add_history,kind=,who=,what=))


如有错误,欢迎指出




评分

参与人数 1活力 +300 干货 +3 收起 理由
blackpineapple + 300 + 3 (为评论区相声加分

查看全部评分

本帖被以下淘专辑推荐:

发表于 2024-4-20 22:39:17 | 显示全部楼层
烈烈好厉害!我的烈烈(么么)
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2024-4-20 22:42:22 | 显示全部楼层
Aaron栩生阿龙 发表于 2024-4-20 22:39
烈烈好厉害!我的烈烈(么么)

你别这样,我害怕()
回复 支持 抱歉

使用道具 举报

发表于 2024-4-20 23:16:49 | 显示全部楼层
烈林凤 发表于 2024-4-20 22:42
你别这样,我害怕()

我知道你害怕,但是你先别怕
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2024-4-21 02:50:33 | 显示全部楼层
Aaron栩生阿龙 发表于 2024-4-20 23:16
我知道你害怕,但是你先别怕

咳咳
回复 支持 抱歉

使用道具 举报

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

本版积分规则

小黑屋|手机版|RenPy中文空间 ( 苏ICP备17067825号|苏公网安备 32092302000068号 )

GMT+8, 2024-5-14 11:02 , Processed in 0.087397 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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