RenPy中文空间

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 137|回复: 3

[已解决] 怎么让action调用一个带参的类函数?

[复制链接]
发表于 2021-1-25 17:12:35 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 dxxds 于 2021-1-25 17:14 编辑

我先随便写了一个类

init python:
    class human:
        name = ""
        sex = 2
        gender = ""

        def __init__(self,name="小明",sex=1):
            self.name = name
            self.set_gender(sex)

        def set_gender(sex):
            if sex == 0:
                gender = "女"
            elif sex == 1:
                gender = "男"
            else:
                gender = "双"
            self.sex = sex

    role = human()
    leader = Character(role.name)

然后下面调用 set_gender 方法的时候,却说我传入了2个参数,多了1个。

label start:
    show screen gender_slt
    """ 选择性别 """
    leader "开启游戏"

screen gender_slt():
    frame:
        pos(0.3,0.5)
        vbox:
            textbutton ("男"):
                action role.set_gender(1)
    frame:
        pos(0.7,0.5)
        vbox:
            textbutton ("女"):
                action role.set_gender(0)
    frame:
        pos(0.5,0.5)
        vbox:
            textbutton ("[role.gender]"):
                action role.set_gender(2)

所以说,应该怎么调用?

发表于 2021-1-25 20:14:07 | 显示全部楼层
这个错误是在类中定义函数就出了问题,def set_gender(sex):应该是def set_gender(self,sex):,用action调用函数需要此类继承Action类https://www.renpy.cn/doc/screen_python.html#Action

评分

参与人数 1干货 +3 收起 理由
BuErShen + 3 感谢解答!

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2021-1-26 16:36:21 | 显示全部楼层
本站现已支持Ren'Py语法高亮
脚本代码操作,见此处:https://www.renpy.cn/forum.php?mod=viewthread&tid=44
回复 支持 反对

使用道具 举报

发表于 2021-2-18 11:07:07 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2021-3-3 00:49 , Processed in 0.038941 second(s), 14 queries , File On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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