找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 14429|回复: 1

[已解决] 关于viewport显示人员名单的问题

[复制链接]
发表于 2020-11-3 16:39:57 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 龍驤虎賁 于 2020-11-3 16:42 编辑

各位大佬,由于我计划做一个角色属性的界面,画面左侧是名单,右侧是点击左侧名字后显示的角色属性界面,现在被卡在了viewport这一步。由于我定义了一系列人物的属性:
[RenPy] 纯文本查看 复制代码
        class person:
            def __init__(self, name, employed, hp, max_hp, cl, max_cl, luoji, chenzhuo, xiaolv, qinmian, meili, haogan):
                self.name = name
                self.employed = employed
                self.hp   = hp
                self.max_hp   = max_hp
                self.cl   = cl
                self.max_cl   = max_cl
                self.luoji   = luoji
                self.chenzhuo   = chenzhuo
                self.xiaolv   = xiaolv
                self.qinmian   = qinmian
                self.meili   = meili
                self.haogan   = haogan

并且在游戏初始化阶段就给每个人物赋好了值:
[RenPy] 纯文本查看 复制代码
    $ p1 = person("[name001]", True, 5000, 5000, 100, 100, 500, 500, 500, 500, 500, 0, 0) 
    $ p2 = person("[name002]", False, 1000, 1000, 100, 100, 150, 150, 150, 150, 300, 0, 0) 
    ……

假设viewport从p1.employed到p100.employed判断,为True的则显示textbutton的话,viewport部分代码该如何修改:
[RenPy] 纯文本查看 复制代码
screen address_list():
    side "c br r":
        area (200, 50, 300, 1000)
        viewport id "add_l":
            draggable True
            pagekeys True
            mousewheel True
            vbox:
                if p1.employed:
                    textbutton p1.name:
                        action Call("show_inf")
                        left_padding 20
                        xfill True
        bar value XScrollValue("add_l")
        vbar value YScrollValue("add_l")

先谢过大佬了!
发表于 2020-11-9 15:34:54 | 显示全部楼层
[RenPy] 纯文本查看 复制代码
init python:
    class person:
        def __init__(self, name, employed, hp, max_hp, cl, max_cl, luoji, chenzhuo, xiaolv, qinmian, meili, haogan):
            self.name = name
            self.employed = employed
            self.hp   = hp
            self.max_hp   = max_hp
            self.cl   = cl
            self.max_cl   = max_cl
            self.luoji   = luoji
            self.chenzhuo   = chenzhuo
            self.xiaolv   = xiaolv
            self.qinmian   = qinmian
            self.meili   = meili
            self.haogan   = haogan
            self.xxx   = haogan

    p1 = person("name001", True, 5000, 5000, 100, 100, 500, 500, 500, 500, 500, 0) 
    p2 = person("name002", False, 1000, 1000, 100, 100, 150, 150, 150, 150, 300, 0) 
    p3 = person("name003", True, 5000, 5000, 100, 100, 500, 500, 500, 500, 500, 0) 
    p4 = person("name004", False, 1000, 1000, 100, 100, 150, 150, 150, 150, 300, 0) 
    p5 = person("name005", True, 5000, 5000, 100, 100, 500, 500, 500, 500, 500, 0) 

screen address_list():
    side "c br r":
        area (200, 50, 300, 1000)
        viewport id "add_l":
            draggable True
            pagekeys True
            mousewheel True
            vbox:
                if p1.employed:
                    textbutton p1.name:
                        action Call("show_inf")
                        left_padding 20
                        xfill True
                if p2.employed:
                    textbutton p2.name:
                        action Call("show_inf")
                        left_padding 20
                        xfill True
                if p3.employed:
                    textbutton p3.name:
                        action Call("show_inf")
                        left_padding 20
                        xfill True
                if p4.employed:
                    textbutton p4.name:
                        action Call("show_inf")
                        left_padding 20
                        xfill True
                if p5.employed:
                    textbutton p5.name:
                        action Call("show_inf")
                        left_padding 20
                        xfill True

        bar value XScrollValue("add_l")
        vbar value YScrollValue("add_l")

# 游戏在此开始。
label start:

    "就这么修修。。。"

    show screen address_list()

    "哎,成了!"

    # 此处为游戏结尾。
    return
回复 支持 抱歉

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 01:19 , Processed in 0.094112 second(s), 14 queries , File On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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