马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 Maz马 于 2025-9-5 19:03 编辑
首先,这是个教学贴,而并非复制即用的
本来画廊的教程就非常多了,我对写这个东西完全没有兴趣
但因为很多新人问,抄过来的代码又各有各的结构
回答,对于py基础不太懂,调试,又不太会
会写button又不会写Gallery
从本质去思考,这只是一个按钮,点击下去就开始回放剧情节选,不是吗?
为此我觉得对新人来说,Gallery真的不是一个好的选择
出点什么问题自己没法纠错,问人又难以解释...上手帮吧,一个问题却要到处缝补
与其这样,不如用最简单的方法去解决问题
直接用手动维护button的方式来做画廊
如果对screen和button有基础的了解,这真的简单的不能再简单了...
Gallery就是批量管理了回放的按钮,省去动态化和部分变量,因此用button来做也压根没有问题
而且使用button也可以去做一些更个性化的雕花,比如边框,标题,动效
[RenPy] 纯文本查看 复制代码 #假设这是你的CG图
image cg_01:
"#00ffe4"
xysize(1920,1080)
#假设这是你未解锁的图片
image cg_lock:
"#838383"
xysize(1920,1080)
#由于CG都是全屏的,因此我们使用一个变换来使画廊的按钮变小
transform mgallery_zoom():
zoom 0.25
#设置变量
#用来控制显示哪一页的变量
default gallery_page = 0
#这个局内使用,表示当前存档中这个回放是否被解锁
default cg_01 = 0
#这个局外使用,表示全局游戏中这个回放是否被解锁
default persistent.cg_01 = 0
#主画廊菜单控制器,只控制显示的页数
screen MGallery():
#表示这个界面在主菜单使用,以确保替换掉相同tag的screen
tag menu
if gallery_page == 0:
use MGallery00()
if gallery_page == 1:
use MGallery01()
if gallery_page == 2:
use MGallery02()
#这里需要你按照自己的需要手动维护,就是根据变量显示不同的页面而已
hbox:
textbutton "<" action SetVariable("gallery_page",gallery_page-1)#给按钮加上变更变量的行为
textbutton "0" action SetVariable("gallery_page",0)
textbutton "1" action SetVariable("gallery_page",1)
textbutton "2" action SetVariable("gallery_page",2)
textbutton ">" action SetVariable("gallery_page",gallery_page+1)
#单页的画廊,可以直接写在画廊内部,但为了方便管理,因此使用use
screen MGallery00():
#表示这个界面在主菜单使用,以确保替换掉相同tag的screen
tag menu
#Gallery实际就是封装好的,自动化的定义按钮的一种方法
#直接手动使用图片按钮也未尝不可
imagebutton:
#当持久化变量未被解锁时,使用解锁前的图片,且不做任何事
if not persistent.cg_01:
idle "cg_lock" at mgallery_zoom
#否则,使用CG图片,且点击后进行回放
else:
idle "cg_01" at mgallery_zoom
action Replay("sj_01")#回放行为
#后面就是一个个的补按钮,用hbox,vbox之类的容器进行布局
screen MGallery01():
pass#爱怎么补按钮就怎么补按钮
screen MGallery02():
pass#爱怎么补按钮就怎么补按钮
label sj_01:
#假设这就是你要回放的剧情节选
"你好"
#结束回放的地方
$ renpy.end_replay()
#在你的剧情节选后面把你设置对应变量打开
$ cg_01 = 1
$ persistent.cg_01 = 1
return
#查看我写的更多屎
时间切片的帧动画动态可视组件
https://www.renpy.cn/forum.php?mod=viewthread&tid=1740
在回放中影响当前游戏存档数据的方法
https://www.renpy.cn/forum.php?mod=viewthread&tid=1739
她的心里话!隐藏文本!
https://www.renpy.cn/forum.php?mod=viewthread&tid=1713
能力雷达图
https://www.renpy.cn/forum.php?mod=viewthread&tid=1719
暴学CDD的十四天/附虚拟摇杆
https://www.renpy.cn/forum.php?mod=viewthread&tid=1675
简单rpg地图移动
https://www.renpy.cn/forum.php?mod=viewthread&tid=1652
摇骰子小游戏
https://www.renpy.cn/forum.php?mod=viewthread&tid=1653
猜球盅小游戏
https://www.renpy.cn/forum.php?mod=viewthread&tid=1574
FontGroup() 游戏里全局使用两种字体的方法
https://www.renpy.cn/forum.php?mod=viewthread&tid=1491
粉身碎骨浑不怕,要留答辩在人间
|