作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Renpy 使用大量 Python 和自定义代码,以便使用 say 语句
显示屏幕上显示的文本。
在 renpy 中的 nvl 模式
遇到一些麻烦后,我发现有必要知道屏幕上将显示多少行(考虑到字体大小,自然和大小文本窗口)。
所以我的问题:
由于我没有在文档中找到任何相关内容,我想知道是否有任何命令或其他可能性来预先计算要显示的文本的高度?
最佳答案
get_virtual_layout()
是 text.py
中 class 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/
问了这个问题How to reach CSS zen? ,我现在明白我遇到的问题大多与定位有关。我发现一些文章说 CSS 作为布局系统并不总是足够好。 http://echochamber.me/vi
我是一名优秀的程序员,十分优秀!