马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 Manami 于 2020-11-16 20:46 编辑
原本是个提问帖,就在这个帖子里发吧。。。可以调整部件图像,可以拖放,,,完整代码如下,附件见此帖https://www.renpy.cn/forum.php?mod=viewthread&tid=654,理论上可以实现让多个层叠式图像同时显示来实现自定义场景
[RenPy] 纯文本查看 复制代码 default glasses_index = 1
default hair_index = 1
default shirt_index = 1
default pants_index = 1
default tie_index = 1
## 图片文件名未修改。
layeredimage someone_index: ## layeredimage语句,名:someone
## always语句
always:
"base" ## 身体(光身),底图。
## Group语句,相当于定义不同组件。
group glasses: ## 定义不同【眼镜】。
attribute glasses1 default: ## 指定默认【眼镜】(加了:default)
"glasses[glasses_index]" ## 显示的是身体(光身)图,也就是无眼镜。
group hair: ## 定义不同【头发】。
attribute hair1 default: ## 此为默认【头发】(加了:default)
"hair[hair_index]" ## 头发1 (默认)
group shirt: ## 定义不同【衬衫】。
attribute shirt1 default:
"shirt[shirt_index]" ## 衬衫1(默认)
group pants: ## 定义不同【裤子】。
attribute pants1 default:
"pants[pants_index]" ## 裤子1(默认)
group tie: ## 定义不同【领带】。
attribute tie1 default:
"tie[tie_index]" ## 领带1
###############################################
screen Stand_navigation:
frame:
xysize(400,300)
xpos 0
ypos 0.4
vbox:
hbox: # 眼镜
spacing 80
text "眼镜"
showif glasses_index != 1:
textbutton "<" action SetVariable('glasses_index', glasses_index - 1)
text "[glasses_index]"
if glasses_index != 4:
textbutton ">" action SetVariable('glasses_index', glasses_index + 1)
hbox: # 头发
spacing 80
text "头发"
showif hair_index != 1:
textbutton "<" action SetVariable('hair_index', hair_index - 1)
text "[hair_index]"
if hair_index != 7:
textbutton ">" action SetVariable('hair_index', hair_index + 1)
hbox: # 衬衫
spacing 80
text "衬衫"
showif shirt_index != 1:
textbutton "<" action SetVariable('shirt_index', shirt_index - 1)
text "[shirt_index]"
if shirt_index != 3:
textbutton ">" action SetVariable('shirt_index', shirt_index + 1)
hbox: # 裤子
spacing 80
text "裤子"
showif pants_index != 1:
textbutton "<" action SetVariable('pants_index', pants_index - 1)
text "[pants_index]"
if pants_index != 3:
textbutton ">" action SetVariable('pants_index', pants_index + 1)
hbox: # 领带
spacing 80
text "领带"
showif tie_index != 1:
textbutton "<" action SetVariable('tie_index', tie_index - 1)
text "[tie_index]"
if tie_index != 4:
textbutton ">" action SetVariable('tie_index', tie_index + 1)
screen Stand:
tag menu
use Stand_show
use Stand_navigation
key "mouseup_3" action Return()
screen Stand_show:
draggroup:
drag:
# 调用图像
add 'someone_index'
# 若为False,其他Drag对象不能放在该Drag对象上。
droppable True
#若为True,draggable可以移出屏幕。
drag_offscreen True
# 人物图位置。
xalign 0.5 yalign 0.5
screen navigation添加
[RenPy] 纯文本查看 复制代码 textbutton "Stand" action ShowMenu("Stand")
自问自答,原来是不同screen之间传递变量还有个函数,SetScreenVariable改成SetVariable就好了。。。
下面是原帖。。如何在screen中显示层叠式图像
想做一个立绘鉴赏的系统,参考了https://www.renpy.cn/forum.php?mod=viewthread&tid=654,在label里显示没有问题,但在screen中用add,image,imagemap都只能显示默认值的层叠式图像,glasses_index的值确实已经更改了,怎么才能让图像会变呢,
[RenPy] 纯文本查看 复制代码 default glasses_index = 1
layeredimage someone_index: ## layeredimage语句,名:someone
## always语句
always:
"base" ## 身体(光身),底图。
## Group语句,相当于定义不同组件。
group glasses: ## 定义不同【眼镜】。
attribute glasses1 default: ## 指定默认【眼镜】(加了:default)
"glasses[glasses_index]" ## 显示的是身体(光身)图,也就是无眼镜。
screen Stand_navigation:
frame:
xysize(400,300)
xpos 0
ypos 0.4
vbox:
hbox: # 眼镜
spacing 80
text "眼镜"
textbutton "<" action SetScreenVariable('glasses_index', glasses_index - 1)
text "[glasses_index]"
textbutton ">" action SetScreenVariable('glasses_index', glasses_index + 1)
screen Stand:
tag menu
use Stand_navigation
add "someone_index" xalign 0.5 yalign 0.5
key "mouseup_3" action Return()
|