如何在Godot 4中通过代码创建SubViewport与ViewportTexture
Godot 4 中 SubViewport 与 ViewportTexture 代码创建异常问题
我尝试在Godot 4中通过代码创建SubViewport并搭配ViewportTexture使用,编写的最简示例代码如下:
# 此节点是我的场景树根节点,也是树中唯一的静态节点。 extends Node func _ready(): # 创建视口,添加内容并将其加入场景树: # 注意设置UPDATE_ALWAYS也无济于事。 var viewport = SubViewport.new() viewport.render_target_update_mode = SubViewport.UPDATE_ALWAYS add_something_to_viewport(viewport) add_child(viewport) # 现在视口已有路径,我们可以创建纹理并关联: var viewport_texture = ViewportTexture.new() viewport_texture.viewport_path = viewport.get_path() # 最后创建使用该视口纹理的精灵: var sprite = Sprite2D.new() sprite.centered = false sprite.texture = viewport_texture # <== 这一行触发调试错误 add_child(sprite) func add_something_to_viewport(viewport: SubViewport): var label = Label.new() label.text = "Hello world" viewport.add_child(label)
(或查看带语法高亮的版本以提升可读性)
但运行后视口内容无法显示,反而出现如下调试错误:
get_height: Viewport Texture must be set to use it get_width: Viewport Texture must be set to use it
内容的提问来源于Stack Exchange,提问作者bluenote10
相关产品推荐
相关产品推荐

