Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否可以预先计算要打印的文本的高度?_Python_Renpy - Fatal编程技术网

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

Python 是否可以预先计算要打印的文本的高度?,python,renpy,Python,Renpy,Renpy使用大量python和定制代码,以便使用say语句显示屏幕上显示的文本 在renpy中的nvl模式遇到一些问题后,我发现有必要知道屏幕上将显示多少行(考虑字体大小和文本窗口的大小) 所以我的问题是: 由于我在文档中没有找到与此相关的任何内容,我想知道是否有任何命令或其他可能性来预先计算要显示的文本的高度?get\u virtual\u layout()是text.py中的类文本的一部分 我是从text.py复制的: # Find the virtual-resolution layou

Renpy使用大量python和定制代码,以便使用
say语句显示屏幕上显示的文本

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

所以我的问题是:

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

get\u virtual\u layout()
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
我认为这看起来很有希望

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

此外,还值得深入了解
text.py
(例如
def render(self、width、height、st、at)
),以了解
虚拟布局的使用

我希望它能有所帮助

更新


def render(…)
初始化虚拟布局,因此
get_virtual_layout()
不再是任何布局,而是表示具有缩放宽度和高度的
layout()
的实例。

似乎存在虚拟文本大小。这对你有什么帮助吗?@rockstaid然后调用get_virtual_layout会使用它吗?我想是的。然后您可以在上面使用
.width
.height
。据我所知,它用于在打印之前计算文本大小。仅获取虚拟版面是不够的(如果使用此选项,返回的rv始终为空:$x=text(“Test text1”)$rv=x。获取虚拟版面()$vw,vh=rv.sizeSee
def render(…)
。它创建初始版面。Yepp步骤是:$x=text(“blah”)#$x.render(300300,0,0)#$rv=x.get_virtual_layout()#$vw,vh=rv.sizean仍然
None
作为输出?没有修复它。实际上,$x.render设置获取虚拟_layout尝试检索的数组元素
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)