马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 抚姬桑 于 2023-11-22 18:41 编辑
我想要实现以下功能:
界面中包含一组按钮(含有变换动画),按钮上展示若干的数据内容。当点击其中一个按钮时,该界面刷新。所有按钮以带有变换动画的形式重新出现,并且按钮上所有内容刷新。
我查阅了相关资料,renpy.restart_interaction()这个行为可能有用,但是我在行为中尝试加入它时没有实现功能,貌似只会重新执行action包含的行为不能刷新界面……
我实在不知道如何解决这个问题,请各位大佬帮忙,万分感谢!
以下是我的代码:
[RenPy] 纯文本查看 复制代码 screen ChooseScreen:
#若干的按钮
at at_dissolve() #自定义的变换,和dissolve效果一样
#通过循环显示若干个按钮
for i in range(persistent.GlobalChoose):
#随机生成按钮内容
#这是一个列表类的函数,它用来对类中每个成员变量随机生成值(用以作各个按钮包含的数据)
$persistent.Chooses[i].Random_Content(persistent.GlobalMainIngredientsRange,persistent.GlobalSecondIngredients,0,persistent.Ingredients,persistent.GlobalDay)
#显示按钮
imagebutton auto "images/ChooseBox_%s.png" xpos 953 ypos 156+(int(610/(persistent.GlobalChoose-1)))*i:
#点击按钮后,进行相应数据的计算及数据更新(无关紧要)
action [SetVariable("persistent.ChooseResult",persistent.Chooses[i].num),Function(Choose_Action),
renpy.restart_interaction #重新加载当前(ChooseScreen)界面,通过函数重新随机生成按钮内容
]
#无关紧要的功能(一个预览点击按钮后会发生其他可视变化的功能)
unhovered [SetVariable("SelectPreview",-1)]
hovered [SetVariable("SelectPreview",persistent.Chooses[i].num)]
#显示每个按钮中的数据内容
for k in range(len(persistent.Chooses[i].arraynum)):
add "images/%s.png" % persistent.Ingredients[persistent.Chooses[i].arraynum[k]].name:
xpos 1005+k*250 ypos 188+(int(610/(persistent.GlobalChoose-1)))*i
text "%d" % persistent.Chooses[i].arrayingredientnum[k] size 50 font gui.interface_text_font:
color "#ffffff" xpos 1085+k*250 ypos 188+(int(610/(persistent.GlobalChoose-1)))*i
|