gpt4 book ai didi

python - 是否可以预先计算要在 renpy 中打印的文本的高度?

转载 作者:行者123 更新时间:2023-11-28 19:10:24 25 4
gpt4 key购买 nike

Renpy 使用大量 Python 和自定义代码,以便使用 say 语句 显示屏幕上显示的文本。

在 renpy 中的 nvl 模式 遇到一些麻烦后,我发现有必要知道屏幕上将显示多少行(考虑到字体大小,自然和大小文本窗口)。

所以我的问题:

由于我没有在文档中找到任何相关内容,我想知道是否有任何命令或其他可能性来预先计算要显示的文本的高度?

最佳答案

get_virtual_layout()text.pyclass Text 的一部分。

我从 text.py 复制了这个:

# Find the virtual-resolution layout.
virtual_layout = self.get_virtual_layout()
# The laid-out size of this Text.
vw, vh = virtual_layout.size

我认为这看起来很有希望。

使用虚拟文本大小(宽度、高度),您可以使用文本窗口大小(宽度、高度)计算文本行数。

pseudo code:
lines = int(vw/text_window.width)
#the text height would then be
text_height_needed = int(lines*vh)
# does it fit in completely
complete_text_in_window = text_window.height >= text_height_needed
# visible lines
visible_lines = int(text_window.height/vh)

此外,值得深入了解 text.py(例如 def render(self, width, height, st, at)),以便了解 virtual_layout 的使用。

希望对你有所帮助。

更新:

def render(...) 初始化虚拟布局,因此 get_virtual_layout() 不再是 None,而是表示 Layout()< 的一个实例 缩放宽度和高度。

关于python - 是否可以预先计算要在 renpy 中打印的文本的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41216752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com