| 
本帖最后由 qwe3147969113 于 2021-9-23 11:55 编辑
×
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册 
  
 感谢https://www.renpy.cn/home.php?mod=space&uid=3作者提供的bar代码
 如果你看到此帖想请教你几个问题
 1:你写的源代码只是有Hp血条如果我要加入新的血条,怎么办?我试了一下是报错的,请您过目!如果您能够指正其中的错误我感激不尽
 
 [RenPy] 纯文本查看 复制代码 
## 这是你的源代码
screen single_stat(name, hp, hp_max, lv, xalign):
    frame:
        xalign xalign # 位置,注意是相同的,不是常见X和Y。
        vbox:
            spacing 5
            hbox:
                text "[name!t]" min_width 220
                text _(" Lv. [lv]")
            hbox:
                text _("HP"):
                    min_width 40
                    yalign 0.5
                bar:
                    value AnimatedValue(hp, hp_max, 1.0)
                    xmaximum 180
                    ysize 26
                text " [hp]/[hp_max]":
                    yalign 0.5
# 此screen用use 入参方式,一次显示两个信息不同的single_stat。
screen stats():
    use single_stat(_("英雄"), hero_hp, hero_hp_max, hero_lv, 0.0)
    use single_stat(_("魔王"), Devil_hp, Devil_hp_max, Devil_lv, 1.0)
## 英雄 数值。
default hero_hp = 50
default hero_hp_max = 100
default hero_lv = 10
## 魔王 数值。
default Devil_hp = 100
default Devil_hp_max = 100
default Devil_lv = 90
# 游戏在此开始。
label start:
    show screen stats
    with dissolve
    "英雄需要治疗。"
    $ hero_hp = 100
    "治疗完成。"
    "魔王等级太高了?"
    $ Devil_lv = 10
    "现在都是10级了。"
    hide screen stats
    "关闭数值显示界面"
    # 此处为游戏结尾。
    return
 
 [RenPy] 纯文本查看 复制代码 
##在作者写的基础上新加的代码
screen single_stat(name, hp, hp_max, lv,ex,xalign):##新加ex选项
    frame:
        xalign xalign # 位置,注意是相同的,不是常见X和Y。
        vbox:
            spacing 5
            hbox:
                text "[name!t]" min_width 220
                text _(" Lv. [lv]")
            hbox:
                text _("HP"):
                    min_width 40
                    yalign 0.5
            hbox:##我不知道这样子会不会和上面的hbox冲突
                text _("ex"):##虽然不知道是什么但是这里我也加了给ex
                    min_width 40
                    yalign 0.5
                bar:##根据我的理解这应该是血条的位置或者数值之类的所以这里我也加入了ex
                    value AnimatedValue(hp, hp_max, ex,1.0)
                    xmaximum 180
                    ysize 26
                text " [hp]/[hp_max]":##这里讲真的确实没看懂是什么
                    yalign 0.5
                text " [ex]/[ex_max]":##所以我在这里新加了
                    yalign 0.5
# 此screen用use 入参方式,一次显示两个信息不同的single_stat。
screen stats():
    use single_stat(_("英雄"), hero_hp, hero_hp_max, hero_lv,hero_ex,0.0)##这个应该就是显示血条的所以我两边都加了ex
    use single_stat(_("魔王"), Devil_hp, Devil_hp_max, Devil_lv,Devil_ex,1.0)
## 英雄 数值。
default hero_hp = 50##这个无非就是最大血量和初始等级的地方所以两边都要定义
default hero_hp_max = 100
default hero_lv = 10
default hero_ex = 10
## 魔王 数值。
default Devil_hp = 100
default Devil_hp_max = 100
default Devil_lv = 90
default Devil_ex = 90
# 游戏在此开始。
label start:
    show screen stats
    with dissolve
    "英雄需要治疗。"
    $ hero_hp = 100
    "治疗完成。"
    "魔王等级太高了?"
    $ Devil_lv = 10
    "现在都是10级了。"
    hide screen stats
    "关闭数值显示界面"
    # 此处为游戏结尾。
    return
 这么一套下来,我最终是想要ex血条显示在hp血条的下方,结果。。。。。。游戏直接报错
 研究了两天没研究出来,只能在论坛上求助。。。。
 希望各位大佬别嘲笑,第一次用bar这个东西
 如果有人能够解决感激不尽!!!
 
 
 
 
 
 
 
 |