瀏覽代碼

Merge pull request #109010 from LurkerAbove/viewport-gettexture-docs-add-cscode

Add the C# code equivalent to the documentation of Viewport.GetTexture()
Thaddeus Crews 3 周之前
父節點
當前提交
3d87dcbd64
共有 1 個文件被更改,包括 14 次插入4 次删除
  1. 14 4
      doc/classes/Viewport.xml

+ 14 - 4
doc/classes/Viewport.xml

@@ -122,11 +122,21 @@
 			<description>
 				Returns the viewport's texture.
 				[b]Note:[/b] When trying to store the current texture (e.g. in a file), it might be completely black or outdated if used too early, especially when used in e.g. [method Node._ready]. To make sure the texture you get is correct, you can await [signal RenderingServer.frame_post_draw] signal.
-				[codeblock]
+				[codeblocks]
+				[gdscript]
 				func _ready():
-					await RenderingServer.frame_post_draw
-					$Viewport.get_texture().get_image().save_png("user://Screenshot.png")
-				[/codeblock]
+				    await RenderingServer.frame_post_draw
+				    $Viewport.get_texture().get_image().save_png("user://Screenshot.png")
+				[/gdscript]
+				[csharp]
+				public async override void _Ready()
+				{
+				    await ToSignal(RenderingServer.Singleton, RenderingServer.SignalName.FramePostDraw);
+				    var viewport = GetNode&lt;Viewport&gt;("Viewport");
+				    viewport.GetTexture().GetImage().SavePng("user://Screenshot.png");
+				}
+				[/csharp]
+				[/codeblocks]
 				[b]Note:[/b] When [member use_hdr_2d] is [code]true[/code] the returned texture will be an HDR image encoded in linear space.
 			</description>
 		</method>