RenPy中文空间

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3601|回复: 5

[教程] 某个人物说话时,其他人物立绘暗的组件

[复制链接]
发表于 2021-5-20 15:42:30 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 frost 于 2021-5-23 20:59 编辑

[RenPy] 纯文本查看 复制代码
transform dark_in:
        matrixcolor Matrix([ 1, 0, 0, 0,
                              0, 1, 0, 0,
                              0, 0, 1, 0,
                              0, 0, 0, 1.0, ])

transform dark:
        matrixcolor Matrix([ 0.7, 0, 0, 0,
                              0, 0.7, 0, 0,
                              0, 0, 0.7, 0,
                              0, 0, 0, 1.0, ])

define speak_character = set(['jr'])

define disableDark = False


init -1 python:
    from functools import partial
    def show(name, isDark=False):
        at_ls = set(renpy.get_at_list(name))
        at_ls = at_ls - set([dark, dark_in])

        if isDark:
            at_ls.add(dark)
        else:
            at_ls.add(dark_in)

        renpy.show(name, at_list=at_ls)

    def char_fade(character_name, event_name, *args, **kwargs):
        if disableDark:
            return

        if event_name == "begin":
            showing_character = speak_character & renpy.get_showing_tags()
            if character_name in showing_character:
                show(character_name)
            showing_character.discard(character_name)
            for chara in showing_character:
                show(chara, True)

        if event_name == "end":
            showing_character = speak_character & renpy.get_showing_tags()
            for chara in showing_character:
                show(chara)



基于这个帖子,修改了部分代码而来,之前他的代码用着还是有不顺手的地方

说明一下,对于需要立绘变暗的角色,需要加入到speak_character 里面,并且角色定义的时候要添加回调函数

评分

参与人数 1干货 +1 收起 理由
被诅咒的章鱼 + 1 感谢分享!

查看全部评分

 楼主| 发表于 2021-5-21 11:25:52 | 显示全部楼层
本帖最后由 frost 于 2021-5-23 21:00 编辑

可能使用组件会有点卡,可以用啊变量看情况禁用
回复 支持 反对

使用道具 举报

发表于 2021-6-2 17:57:55 | 显示全部楼层
感谢大佬!那个请问能不能给个speak_character和角色定义添加回调函数的样例,不知道哪里没写对就是跑不起来
回复 支持 反对

使用道具 举报

发表于 2022-2-7 16:55:19 | 显示全部楼层
大佬能给一个在脚本中调用这个效果的实际范例吗?
我也是不知道哪里没写对总是跑不起来进不去游戏
回复 支持 反对

使用道具 举报

发表于 2022-3-8 11:13:02 | 显示全部楼层
可找到了,就是小白暂时还没看懂!
回复 支持 反对

使用道具 举报

发表于 2022-6-3 14:39:37 | 显示全部楼层
[RenPy] 纯文本查看 复制代码
define xiao = Character("晓莹",callback=partial(char_fade, "xy"))
define ji = Character("纪雨",callback=partial(char_fade, "jy"))

define speak_character = set(['jy','xy'])


角色定义添加回调函数的样例,今天终于试出来的。谢谢大佬分享。
jy,xy是立绘图片名,不知道这样用对不对
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2022-10-2 23:20 , Processed in 0.026324 second(s), 12 queries , File On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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