首页 > 其他分享 >【杂文】renpy漫游记

【杂文】renpy漫游记

时间:2023-03-28 23:15:16浏览次数:45  
标签:style renpy bar windowalpha persistent window 杂文 ui 漫游

【杂文】renpy漫游记

程序工作基本告一段落了。后续如果有新的折磨再补充(希望不要再有了TAT)。

1.【隐藏对话框】

在剧本文件中可以直接用指令 window hide 隐藏。

如果要做“隐藏”按钮,需要 action 。由于 00keymap.rpy 文件中内置有 label _hide_windows,直接写 action Call("_hide_windows") 即可。

2.【在设置页面创建一个bar调整对话框透明度】

搞了一整个晚上,遇到诸如“条的 value 不能是实数”,“变量修改后如果换个界面莫名其妙回到默认”,“对话框所属 window 组件的特性”等等一大堆问题,因为尝试了各种各样的方法,所以还有别的许多……让人掉头发的东西……

最后在社区找到了这个:Changing the opacity of the Dialogue box with a Slider

这篇帖子里又出现这个:how do I change the opacity of the dialogue box in Ren’Py

最终终于是解决了问题。

首先,在 screen saywindow 组件里添加对话框背景图片时用这句话:

window:
    id "window"

    background Transform(Image("gui/ui_dialogue/ui_dialogue_box.png",xalign=0.5, yalign=1.0), alpha=persistent.windowalpha) #加这句
        
    if who is not None:
        window:
            id "namebox"
            style "namebox"
            text who id "who"

注意一下,这句大有来头。

首先是必须放在这个位置(即 window 组件内的最上面。免得将后面的文字和名字框覆盖),这个很显然。

其二:必须在这里写 Transform() 函数,如果在 screen 外面用 transform xxx: 语句定义一个变换的话,那么就是定死了无法再改变。

其三:Transform() 函数里那个 persistent.windowalpha 变量定义在 screen say 外面,要求这样子写:

define persistent.windowalpha=0.5 #0.5是设置的初始值,改成1.0也可

实测用 default my.windowalpha 会寄……奶奶滴……还是老老实实用 definepersistent 吧(虽然我并不清楚原理)

然后,后面 bar 这样写(注意 style="xxx" 不能省):

bar value FieldValue(persistent,"windowalpha",range=1.0,style="slider") 

我的 style 长这样:

screen preferences(title="textpage",pre_title="none"):
    ...
    vbox:
        ypos 410
        style_prefix "mysliderh"
        yalign 0.0
        spacing 52
        bar value Preference("text speed")#文本显示速度
        bar value ...#文本显示速度...
        bar value FieldValue(persistent,"windowalpha",range=1.0,style="slider")#对话框透明度

style mysliderh_slider:
    xpos 969
    xsize 676
    thumb_offset 34#这个很重要
    left_gutter 34#这个也很重要
    right_gutter 34#这个也很重要
    base_bar "gui/ui_setting/ui_setting_slider_h.png"
    thumb "gui/ui_setting/ui_setting_thumb_h.png"

3.【主界面BGM/粒子效果】

因为一些我不懂的奇怪问题,直接在 screen main_menu(): 里播放BGM的话,会放两次(如果在这里加粒子效果,也会有两次),而且进入设置页面后再回来会重播……所以还是去 00start.rpy 里修改吧。引擎内置有 BGM 播放的代码,照着抄一份粒子的就可以了。

标签:style,renpy,bar,windowalpha,persistent,window,杂文,ui,漫游
From: https://www.cnblogs.com/Xing-Ling/p/17267124.html

相关文章

  • 【杂文】关于演出那些事儿
    【杂文】关于演出那些事儿其实主要是在别人的文章里摘抄提炼了一些东西,方便随时查阅。基本上是一个大纲性质的东西。等以后有闲心了再讲一些细致举例吧。〇:【“演出”】......
  • im 应用多点登录和消息漫游架构
    本文主要节选和总结自沈剑大佬的微信多点登录与QQ消息漫游架构随想和文章的评论,略有删改1、多点登录和消息漫游架构多点登录指的是同个账号可以在多类终端(安卓、pc)同时登录......
  • 【cesium】 FlyLine飞行漫游路线
    cesiumFlyLine飞行漫游路线mars3d.FlyLine是实体类,提供飞行漫游路线控制。使用示例在后面一、需求:拿取请求的坐标数据集展示车辆或人员轨迹1.生成轨迹数据//创建......
  • Cesium 键盘漫游
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>键盘场景漫游</title><scripttype="text/javascript"src="https://cdnjs.cloud......
  • im 应用多点登录和消息漫游架构
    本文主要节选和总结自沈剑大佬的微信多点登录与QQ消息漫游架构随想和文章的评论,略有删改1、多点登录和消息漫游架构多点登录指的是同个账号可以在多类终端(安卓、pc)同时......
  • 造福C站全体用户,文章漫游者v0.2开放下载
    大家好,我是小小明。近段时间原力计划群,有很多博主都提出了希望备份博客到本地。热心的我第二天立马开发了一个nodejs的富文本转Markdown的服务。对于第一位提这个问题群友,我......
  • 杂文随想--中国老龄化
    最近看到文章,说中国六十多年来第一次出现人口下降。根据其他国家的先例,人口一旦下降就很难回升。那么这个下降的数据,意味着国家逐步进入老龄化社会。 从老龄化方面,聊一......
  • renpy启程
    将Ren'Py的语法突出显示和摘要添加到VisualStudioCode中。Ren'PyLanguage-VisualStudioMarketplace 明明支持ogg和wav格式,但是除了mp3都播放不了,什么毛病 ......
  • 如何实现大地图漫游功能
    本文首发于微信公众号【小蚂蚁教你做游戏】,欢迎关注领取更多学习做游戏的原创教程资料,每天学点儿游戏开发知识。嗨!大家好,我是小蚂蚁。最近有学员问如何实现割草游戏中的那种......
  • csapp 第一章 计算机系统漫游
    计算机系统由硬件和系统软件组成,共同工作来运行应用程序。#include<stdio.h>intmain(){printf("helloworld!C");return0;}追踪程序hello.c的生命周期—......