找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8614|回复: 2

[经验] 实现已读文本变色、滚轮打开历史记录效果

[复制链接]
发表于 2018-10-23 16:47:31 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 丛雨 于 2018-10-23 19:06 编辑

对于较长的多路线GAL,已读文本变色是很有帮助的小功能。
以及在screen say中加入key "mousedown_4" action ShowMenu('history')可以实现滚轮上滑打开历史记录(需要关闭rollback)

替换方法:在 screens.rpy 内替换screen say
替换代码如下:
[RenPy] 纯文本查看 复制代码
screen say(who, what):

    style_prefix "say"

    window:
        id "window"

        if who is not None:

            window:
                id "namebox"
                style "namebox"
                text who id "who"
        if renpy.is_seen(ever = True):  # ever 为false时对本次运行起效,此处需要对过去所有阅读起效
            text what id "what" color "#FC9F4D" # 标记颜色
        else:
            text what id "what" color "#FFFFFF" # 未读颜色
      
    key "mousedown_4" action ShowMenu('history') # 鼠标滚轮打开历史记录

    ## If there's a side image, display it above the text. Do not display on the
    ## phone variant - there's no room.
    if not renpy.variant("small"):
        add SideImage() xalign 0.0 yalign 1.0



这里用到的renpy.is_seen(ever = True),会传回正在显示的文本是否已经阅读。
另外,每个screen下的style只会在载入时执行一次,所以用户操作不会改变style中的量。在style中添加使用在游戏运行时改变的量的语句不会产生效果。

附送对话框文字描边的方法:

[RenPy] 纯文本查看 复制代码
style say_dialogue:
    # color ("#FFF" if renpy.is_seen(ever = True) else "#000")
    properties gui.text_properties("dialogue")
    outlines [ (absolute(2), "#000", absolute(0), absolute(0)) ] #文本描边
    xpos gui.dialogue_xpos
    xsize gui.dialogue_width
    ypos gui.dialogue_ypos


以上代码替换 screens.rpy 内style say_dialogue,修改absolute(pixel)中的数值可以改变描边宽度(像素)。


评分

参与人数 2干货 +3 收起 理由
BuErShen + 2 追加+1( ̄▽ ̄)"
龙氏 + 1 测试有效,感谢!

查看全部评分

发表于 2018-10-23 18:33:41 | 显示全部楼层
先前"自问自答"的帖子要删掉么?
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2018-10-23 19:05:24 | 显示全部楼层
BuErShen 发表于 2018-10-23 18:33
先前"自问自答"的帖子要删掉么?

要。。。我不知道怎么删掉自己的帖子
回复 支持 抱歉

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 18:35 , Processed in 0.075004 second(s), 13 queries , File On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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