找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 649|回复: 5

[已解决] 关于Jump和Call、Start、ShowMenu的问题

[复制链接]
发表于 2023-8-9 17:54:08 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 Ca清 于 2023-8-24 09:43 编辑

需要:在设置界面中有一图片按钮,交互后可以进入一段短暂的脚本标签,交互时有转场效果(Dissolve),结束后返回设置界面



情况:
我在设置界面中加了一排十个按钮,能够调节文字速度,我希望按钮交互后自动跳转入一段脚本标签,这个脚本标签只有一句测试文本,进行完后返回设置界面。
于是
[RenPy] 纯文本查看 复制代码
.#截取

label con_textspeed:
    scene bg town

    "テキスト表示速度テスト。\nこのスピードでテキストが表示されます。"

    return

## text_speed ####
hbox:
    xoffset 183
    yoffset 311
    spacing -1
    for i in range(1,11):
        imagebutton:
            idle f"gui/main_menu/config/number/{i}-.png" 
            selected_idle f"gui/main_menu/config/number/{i}.png"
            selected_hover f"gui/main_menu/config/number/{i}.png"
            action [SetVariable("preferences.text_cps", text_action_values[i-1]), Jump("con_textspeed")]#Jump与Call都不起作用

.


然而不管是Jump还是Call都不起作用,也就是交互后没有反应,且游戏也没有报错,于是我换成Start
[RenPy] 纯文本查看 复制代码
.#截取

action [SetVariable("preferences.text_cps", text_action_values[i-1]), Start("con_textspeed")]#一切正常,交互后跳转,结束后返回,没有问题,但Start没办法加转场效果,我很需要转场,且想要解决Jump和Call的问题

.


这次没有任何问题,然而我需要加一个转场效果,Start似乎无法满足,且不清楚为什么Jump和Call不行而Start可以,我依然想要解决。然后我试了试ShowMenu
[RenPy] 纯文本查看 复制代码
.#截取

action [SetVariable("preferences.text_cps", text_action_values[i-1]), ShowMenu("con_textspeed")]#也可以触发跳转,但是进行完con_textspeed后没有返回,而是继续进行start,最后返回到了主菜单,且似乎也无法加入转场

.

ShowMenu可以跳转,但却进行完所有的脚本标签后才返回,且返回了主菜单


十分困惑,特来求助,希望有人能够解答上述Jump和Call、Start、ShowMenu的问题,给出解决需要的方案,顺便还有一些历史问题https://www.renpy.cn/forum.php?mod=viewthread&tid=1397%20

 楼主| 发表于 2023-8-15 08:59:22 | 显示全部楼层
中文空间出什么事了,我看从七月开始很多问题都没人回答了
回复 支持 抱歉

使用道具 举报

发表于 2023-8-21 14:44:12 | 显示全部楼层
可以尝试使用Function("",tar="需要跳转的标签"var="当前的标签"),以便跳转到目标标签之后再跳转回来
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2023-8-21 16:43:21 | 显示全部楼层
三幻神宝贝龙 发表于 2023-8-21 14:44
可以尝试使用Function("",tar="需要跳转的标签"var="当前的标签"),以便跳转到目标标签之后再跳转回来 ...

不太懂,文档上这个不是很理解,并且我在设置界面screen preferences()里,也没有”当前标签“,十分感谢回答
回复 支持 抱歉

使用道具 举报

发表于 2023-8-23 21:58:18 | 显示全部楼层
Ca清 发表于 2023-8-15 08:59
中文空间出什么事了,我看从七月开始很多问题都没人回答了

有可能是renpy太小众了,能坚持只用renpy的人很少,天天逛论坛的人也少了,现在回答问题的都是版主、部分老社员和刚来一个月左右的新社员,一般太难解的问题也会被雪葬的……
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2023-8-24 09:42:54 | 显示全部楼层
2023.8.24彻底解决

关于Jump、Call两行为无效果不报错的问题,是因为screen使用add添加背景,add添加的背景在“最上层”,因此其上的可视组件(按钮)不受影响,但该按钮触发的Jump和Call等行为跳转至的脚本标签label却显示在add添加的背景下,以至于这个正在显示的screen覆盖遮挡了播放的脚本标签,导致了Jump和Call看似无效果的问题,如果删除screen背景或者隐藏screen就可以看到触发的Jump和Call(我的该按钮位于从界面main_menu用show进入的界面preferences,所以要隐藏这两个界面的add背景)

Jump、Call、ShowMenu跳转去label皆与主控流程(是否开始游戏)挂钩,我的界面preferences是游戏外界面设置界面,所跳转的是一段测试脚本标签,与游戏无关,在主控流程之前(也即独立于游戏,不是游戏内容),导致一旦使用Jump、Call、ShowMenu跳转,就会强迫播放所有脚本标签,并且强迫return回main_menu,至于start,它比较特殊,是开始主控流程的,不会强制播放所有标签,但强迫return回main_menu




我灵光乍现,想到了很多gal都会有的“回想”功能,一般位于游戏外界面,结束了会回到菜单,简直完美!于是皇天不负有心人,如下
M6@{@LG)~1BYT)XQDPGQAGU.png

于是我就把我的测试脚本标签显示以回想形式触发,完美达成功能(图中可以看到start也被考虑来设计回想)
9W8D7SP`IW$YP@@[@W{87.png


但美中不足的是start没有转场,replay同样没有,这怎么办?不能修改触发前,就改触发后,如下
GEG]Y$DASD33K9Q}0G0C8ME.png

至此,所有问题完美解决



回复 支持 抱歉

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 10:43 , Processed in 0.115528 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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