找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8041|回复: 3

[已解决] 等效语句的属性该怎么配置呢?

[复制链接]
发表于 2021-7-18 18:44:14 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 Zealot001 于 2021-7-19 10:39 编辑

renpy基于python开发,每个功能都对应了python的语句,从文档里看得到,有很多等效语句
但是实际应用的时候,产生了一个问题,这些等效语句的属性该怎么设置。
可能描述有点模糊,用具体的代码来提问。
比如
[RenPy] 纯文本查看 复制代码
label elieen_movie:
    show elieen_movie:
        size(1920,1080)
        xcenter 0.5
        ycenter 0.5
        on show:
            alpha 1.0
            linear .5 alpha 1.0
        on hide:
            linear .5 alpha 0.0


我想用等效语句,renpy.show来实现上述的功能
那么这些size,xcenter,on show之类的属性该怎么写呢?
文档关于等效语句的介绍,似乎并没有介绍这些
renpy.show(name, at_list=, []layer='master', what=None, zorder=0, tag=None, behind=[])
在某个图层上显示某个图像。这是show语句的等效Python语句。

name
需要显示的图像名称,是一个字符串。
at_list
应用于图像的变换(transform)列表。等效于 at 特性(property)。
layer
一个字符串,表示图像显示使用的图层名。等效于 onlayer 特性(property)。若为None,使用图像标签(tag)关联的默认图层。
what
若非None,这是一个代替图像的可视组件。(等效于show表达式语句。)当给定了一个 what 参数时, name 可以用于将图像与标签(tag)关联。
zorder
一个整数,等效于 zorder 特性(property)。若为None,zorder会保留之前的值,否则设置为0。
tag
一个字符串,用于指定显示图像的标签(tag)。等效于 as 特性(property)。
behind
一个字符串列表,表示需要显示的图像在哪些图像标签(tag)后面。等效于 behind 特性(property)。

请大佬帮助~



发表于 2021-7-19 08:24:08 | 显示全部楼层
中文文档中renpy.show函数的入参列表有点小问题(后续会修改)。正确的应该是:
[RenPy] 纯文本查看 复制代码
renpy.show(name, at_list=[], layer='master', what=None, zorder=0, tag=None, behind=[])


除了 name 参数之外,其他的关键字参数都有默认值,可以不传。

具体到你的问题,把图片atl中的transform单独列出来并写个名字,放入 at_list 列表中就行。
[RenPy] 纯文本查看 复制代码
transform fadeinout:
    size(1920,1080)
    xcenter 0.5
    ycenter 0.5
    on show:
        alpha 1.0
        linear .5 alpha 1.0
    on hide:
        linear .5 alpha 0.0

label main_menu:
    return

# 游戏在此开始。
label start:

    $ renpy.show("elieen_movie", at_list=[fadeinout])
    
    pause
回复 支持 抱歉

使用道具 举报

发表于 2021-7-19 08:27:08 | 显示全部楼层
另外,如果楼主需要实现显示的淡入效果,需要把 show 事件下的alpha初始值改为0。
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2021-7-19 08:48:12 | 显示全部楼层
被诅咒的章鱼 发表于 2021-7-19 08:27
另外,如果楼主需要实现显示的淡入效果,需要把 show 事件下的alpha初始值改为0。 ...

原来是这样写的,感谢大佬
alpha值是我测试用的,之前测试的时候,alpha值直接用0似乎会导致图像不显示,这个问题我还没仔细思考
回复 支持 抱歉

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-27 12:59 , Processed in 0.122517 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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