RenPy中文空间

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 318|回复: 1

[求助] 学习了拖放组件,有几个问题,大佬快来呀~

[复制链接]
发表于 2020-1-5 19:15:43 | 显示全部楼层 |阅读模式

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

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

x
1.  当drag和drop相互接触的时候,到底发生了什么呢?看 @BuErShen 大大的示例代码好几遍了,是在drag和drop相接触时,将drag名和drop名存储到了一个变量里面的意思么?
2.  如果我想写一段代码,实现drag和drop相互接触时,实现show screen,并与此同时设置一个变量的值呢。
3.  还有,我悄悄的问一下,界面和界面语言文档,拖放组件文档里面都没有提到过如何从 screen 里面 jump 到label 的方法(似乎因为jump不是界面语言),如果不用《界面动作,值和函数》里面提到的按钮的Jump动作,还有别的办法么,(比如说,有没有大佬知道如何写:利用 drag and drop的知识,写一下drags和drop 相互接触时关闭screen,并且jump到一个label里面么。
4.  大佬不要烦呀……小白还想再问一下:show screen 和call screen到底有什么区别呢,“在当前互动动作结束之后隐藏界面” 这句话不是很理解呢……什么叫互动动作呢?设置变量的值算互动动作,还是hide screen算互动动作呢……。还有那个action ShowTransient() 展示的界面和这个有什么不同么?
5.  大佬我错了,我马上就跑…… 界面动作里面的那一堆动作,是只在button语句里面可以使用么?还有别的用处么?比如在界面里……的什么地方。
6.  嘻嘻,谢谢大佬啦,我没有问题了,先溜了……等我做出什么游戏来的时候,再给大佬萌们交作业!(^○^)
不胜感激!!
发表于 2020-1-6 14:05:23 | 显示全部楼层
1.当drag和drop相互接触,相当于产生了一个screen 动作(action)。具体执行什么更自由。

2.可以,都能执行一个函数了【文档翻译:“一个回调函数(或回调函数列表)”,自行搜索什么意思】,
如:
screen CCC():

    drag:

        # 当Drag对象被拖拽时被调用执行函数
        dragged RRR #执行名为:RRR的函数。

python函数里什么都可以,也可执行renpy脚本。
python里使用renpy脚本,具体看这里:https://www.renpy.cn/doc/screen_python.html#python

3.可以,见2。

4. show screen: 一直存在显示(有可视组件),不影响剧情进行。
call screen :显示此screen后,其他都暂停阻止,例如选项或询问玩家是否关闭,玩家必须有选择,才能继续。如果此screen 没有包含hide 此screen 或jump跳转,游戏会卡在这里。详情:https://www.renpy.cn/doc/screens.html?highlight=call#call-screen

5.screen包含的组件有没有 动作(action)特性能力,看文档里那个组件有没有action。

screen相当于使用房间,而fixed、frame、hbox。。。可以理解不同的箱子或盒子。
比如:fixed创建了一块用于添加子组件的区域。
子组件也可以再包含:fixed、frame、hbox。。。相等于房间里包箱子,这箱子里再包含一个盒子,如果你愿意,可以再层层嵌套。

而add、text、textbutton、输入框(input)、图片按钮(imagebutton)。。。都是子组件。
可以在screen里直接添加,也可以添加到箱子或盒子里。
见下面示例脚本:
[RenPy] 纯文本查看 复制代码
screen AAA():## 理解为,一个名为AAA的房间。

    add "image.jpg"# 直接添加一个图片(可视组件)

    vbox: #这房间里有个盒子.
        textbutton "按钮1" action Jump("B1")# 盒子里有个文本按钮1。
        textbutton "按钮2" action Jump("B2")# 盒子里有个文本按钮2。
    vbox: #房间里还有个盒子.
        textbutton "按钮3" action Jump("C1")# 而这盒子里有个文本按钮3。
        textbutton "按钮4" action Jump("C2")# 有个文本按钮4。

    frame:## 有个箱子,有背景的箱子。
        xalign 0.5 #箱子在房间的X位置。
        yalign 0.5 #箱子在房间的Y位置。

        vbox:#箱子里还有个盒子。当然这盒子还可指定位置。
            textbutton "按钮5" action Jump("D5")# 相当于:文本按钮5,在房间AAA的一个箱子的盒子里。




回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2020-9-20 08:59 , Processed in 0.048173 second(s), 24 queries , File On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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