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

时间:2016-12-19 06:16:36

标签: python renpy

Renpy使用大量python和自定义代码,以便使用say statement显示屏幕上显示的文字。

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

所以我的问题

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

1 个答案:

答案 0 :(得分:0)

Listget_virtual_layout()class Text的一部分。

我是从text.py复制的:

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(...)不再是None,而是代表get_virtual_layout()的实例,其缩放宽度和高度。