找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 977|回复: 5

[经验] 萌新也可以学习的renpy简单密码锁制作!

[复制链接]
发表于 2023-8-25 14:16:00 | 显示全部楼层 |阅读模式

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

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

×
之前我在到处在找密码锁相关的教程,可怎么也找不到,于是我询问了qq群里的各位大佬,终于自己摸索出来了!非常感谢各位!

因为我本职是学美术的,不太习惯使用注释,所以说我就使用图文的方式进行讲解咯!也方便萌新理解其中的原理。
(想抄代码直接翻到下面,没有注释)

那么,我们来先了解一下密码锁的每个部件吧(所有名字都是我自己随意取的……):

                               
登录/注册后可看大图


这些代码的原理几乎是一目了然,甚至没有用多少renpy以外的python代码,算是非常适合萌新来学习了。

首先得有一串代码接入中转站:
[RenPy] 纯文本查看 复制代码
label start:
    $ number = "0000"       # 将密码重置
    if unlock == 0:         # 判断是否拥有钥匙(否)
        call lock_right     # 进入密码锁
    elif unlock == 1:       # 判断是否拥有钥匙(是)
        jump enter          # 解锁成功
return


这个就看你的需求了,只是举个例子,反正能转到中转站就行
再定义一下输入框的内容和钥匙:
[RenPy] 纯文本查看 复制代码
define number = ""
define unlock = 0



接下来就是进入中转站:
[RenPy] 纯文本查看 复制代码
label lock_right:
    if number == "0721":                            # 判断出正确的密码
        $ unlock = 1                                # 获得钥匙
        centered "{size=50}{color=#ABFF89}解锁成功" # 解锁提示
        jump fangxiang2                             # 离开中转站,进行下一步剧情
    else:                                           # 判断其他错误的密码
        call screen unlock_right                    # 打开密码锁界面
    return


至于这个正确的密码,我写的是“0721”(Ciallo~(∠・ω< )⌒☆),这个可以根据自己的需求进行修改

然后就要进入密码锁的本体了:
NO.1
[RenPy] 纯文本查看 复制代码
    frame:                                          # 创建一个界面
        xcenter 0.5                                 # 使锚点的x轴居中
        ycenter 0.5                                 # 使锚点的y轴居中(使输入框的位置放在屏幕正中央)
        xsize 300                                   # 使输入框的宽度改为300
        ysize 75                                    # 使输入框的高度改为300
        input value VariableInputValue("number"):   # 创建输入框,使输入框的内容传给number
            default "输入密码"                      # 默认显示内容,可有可无
            length 4                                # 限制输入的长度
            allow "1234567890"                      # 限制输入的字符
            copypaste True                          # 允许粘贴,默认是F
            size 50                                 # 改变输入字符的大小

想要使用更多功能,可以参考中文文档:界面行为(action)、值(value)和函数 — Ren'Py 中文文档 (renpy.cn)

NO.2
[RenPy] 纯文本查看 复制代码
    frame:
        xcenter 0.6
        ycenter 0.6
        textbutton "关闭":                          # 创建一个文字按钮
            action Jump("unknownkey_fx")            # 返回进入中转站之前的界面


jump(“”)里面的内容请按需要进行修改

NO.3
[RenPy] 纯文本查看 复制代码
    frame:
        xcenter 0.4
        ycenter 0.6
        textbutton ("确定"):
            text_color "#d36363ff"                # 改变文字按钮的颜色
            text_hover_color "#003644ff"          # 获得鼠标焦点使文字改变颜色
            text_selected_color "#003644ff"       # 被点击后改变文字的颜色
            action Jump("lock_right")               # 回到中转站判断密码是否正确


颜色的代码可以看HTML颜色代码 (htmlcolorcodes.com)来选择

NO.4
[RenPy] 纯文本查看 复制代码
    text "密码锁":                                  # 显示密码锁标题
        color "#ffffff"
        xcenter 0.4
        ycenter 0.4


这个是可有可无的部分。

可以抄代码了:
[RenPy] 纯文本查看 复制代码
define number = ""
define unlock = 0

label lock_right:
    if number == "0721":
        $ unlock = 1
        centered "{size=50}{color=#ABFF89}解锁成功"
        jump fangxiang2
    else:
        call screen unlock_right
return

screen unlock_right:
    frame:
        xcenter 0.5
        ycenter 0.5
        xsize 300
        ysize 75
        input value VariableInputValue("number"):
            default "输入密码"
            length 4
            allow "1234567890"
            copypaste True
            size 50
    frame:
        xcenter 0.6
        ycenter 0.6
        textbutton "关闭":
            action Jump("unknownkey_fx")
    frame:
        xcenter 0.4
        ycenter 0.6
        textbutton ("确定"):
            text_color "#d36363ff"
            text_hover_color "#003644ff"
            text_selected_color "#003644ff"
            action Jump("lock_right")

    text "密码锁":
        color "#ffffff"
        xcenter 0.4
        ycenter 0.4



第一次做经验贴,有不好的地方请见谅。
我也只不过是个刚自学了一个月的renpy的萌新,python代码不太懂,有错误欢迎指出
(反,反正代码能跑就行了嘛……)

不同的组件

不同的组件

评分

参与人数 1活力 +300 干货 +3 收起 理由
被诅咒的章鱼 + 300 + 3 感谢分享!

查看全部评分

 楼主| 发表于 2024-6-18 20:14:35 | 显示全部楼层
我制作了一个更加好用的密码锁,可以去查看我的这篇文章https://www.renpy.cn/forum.php?mod=viewthread&tid=1545
回复 支持 抱歉

使用道具 举报

发表于 2023-8-27 09:22:15 | 显示全部楼层
Ciallo~(∠・ω< )⌒☆
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2023-8-27 17:51:34 | 显示全部楼层
AyachiNene 发表于 2023-8-27 09:22
Ciallo~(∠・ω< )⌒☆

Ciallo~(∠・ω< )⌒☆
回复 支持 抱歉

使用道具 举报

发表于 2024-3-6 10:50:24 | 显示全部楼层
谢谢,帮大忙了
回复 支持 抱歉

使用道具 举报

发表于 2024-3-12 19:24:34 | 显示全部楼层
感谢!!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-24 16:19 , Processed in 0.153821 second(s), 37 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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