diff --git a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/inlet/Room1.tscn b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/inlet/Room1.tscn
index 145ed80..379a4bf 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/inlet/Room1.tscn
+++ b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/inlet/Room1.tscn
@@ -1,10 +1,8 @@
-[gd_scene load_steps=6 format=3 uid="uid://dmeb88jotqro6"]
+[gd_scene load_steps=4 format=3 uid="uid://dmeb88jotqro6"]
[ext_resource type="TileSet" uid="uid://b00g22o1cqhe8" path="res://resource/map/tileset/TileSet1.tres" id="1_osa3n"]
[ext_resource type="Script" path="res://src/framework/map/DungeonRoomTemplate.cs" id="2_erhdx"]
[ext_resource type="Script" path="res://src/framework/map/mark/ActivityMark.cs" id="3_m4jrh"]
-[ext_resource type="Texture2D" uid="uid://civvcowt2wklr" path="res://resource/sprite/weapon/weapon0001/Weapon0001.png" id="4_wtntr"]
-[ext_resource type="Texture2D" uid="uid://dto03bc2qbhnj" path="res://resource/sprite/shell/Shell0001.png" id="5_amyos"]
[node name="Room1" type="TileMap"]
tile_set = ExtResource("1_osa3n")
@@ -52,13 +50,3 @@
Type = 5
ItemExpression = "0006"
WaveNumber = 2
-
-[node name="Sprite2D" type="Sprite2D" parent="."]
-position = Vector2(61, 25)
-rotation = -0.785398
-texture = ExtResource("4_wtntr")
-
-[node name="Sprite2D2" type="Sprite2D" parent="."]
-position = Vector2(120, 51)
-rotation = 0.785398
-texture = ExtResource("5_amyos")
diff --git a/DungeonShooting_Godot/scene/test/TestOptimizeSprite.tscn b/DungeonShooting_Godot/scene/test/TestOptimizeSprite.tscn
index f231e24..e13f283 100644
--- a/DungeonShooting_Godot/scene/test/TestOptimizeSprite.tscn
+++ b/DungeonShooting_Godot/scene/test/TestOptimizeSprite.tscn
@@ -11,22 +11,11 @@
[ext_resource type="Texture2D" uid="uid://yn8t7ovmt4gj" path="res://resource/sprite/weapon/gun1.png" id="9_mddgj"]
[ext_resource type="Texture2D" uid="uid://5geiuvv6hyov" path="res://resource/sprite/weapon/gun2.png" id="10_rxwsh"]
-[node name="TestOptimizeSprite" type="Node2D" node_paths=PackedStringArray("SubViewport", "ViewCamera", "Label")]
+[node name="TestOptimizeSprite" type="Node2D" node_paths=PackedStringArray("Label")]
script = ExtResource("1_rwuav")
ImageList = Array[Texture2D]([ExtResource("2_qvs0g"), ExtResource("8_csd6d"), ExtResource("3_jejmg"), ExtResource("4_twsss"), ExtResource("5_bdcjp"), ExtResource("6_sqcu7"), ExtResource("7_w4iwy"), ExtResource("9_mddgj"), ExtResource("10_rxwsh")])
-SubViewport = NodePath("SubViewport")
-ViewCamera = NodePath("SubViewport/Camera2D")
Label = NodePath("CanvasLayer/Panel/Label")
-[node name="SubViewport" type="SubViewport" parent="."]
-transparent_bg = true
-canvas_item_default_texture_filter = 0
-size = Vector2i(1024, 185)
-render_target_update_mode = 4
-
-[node name="Camera2D" type="Camera2D" parent="SubViewport"]
-anchor_mode = 0
-
[node name="CanvasLayer" type="CanvasLayer" parent="."]
[node name="Panel" type="Panel" parent="CanvasLayer"]
diff --git a/DungeonShooting_Godot/src/framework/map/image/ImageCanvas_Static.cs b/DungeonShooting_Godot/src/framework/map/image/ImageCanvas_Static.cs
index 257daf5..8341a17 100644
--- a/DungeonShooting_Godot/src/framework/map/image/ImageCanvas_Static.cs
+++ b/DungeonShooting_Godot/src/framework/map/image/ImageCanvas_Static.cs
@@ -33,7 +33,7 @@
///
/// 渲染窗口大小
///
- public static Vector2 RenderViewportSize { get; private set; }
+ public static Vector2I RenderViewportSize { get; private set; }
//预渲染队列
private static readonly Queue _queueItems = new Queue();
@@ -48,11 +48,20 @@
///
/// 初始化 viewport
///
- public static void Init(SubViewport renderViewport)
+ public static void Init(Node root)
{
- RenderViewportSize = renderViewport.Size;
- RenderViewport = renderViewport;
- _viewportTexture = renderViewport.GetTexture();
+ RenderViewportSize = new Vector2I(1024, 185);
+ RenderViewport = new SubViewport();
+ RenderViewport.Size = RenderViewportSize;
+ RenderViewport.RenderTargetUpdateMode = SubViewport.UpdateMode.Always;
+ RenderViewport.TransparentBg = true;
+ RenderViewport.CanvasItemDefaultTextureFilter = Viewport.DefaultCanvasItemTextureFilter.Nearest;
+ var camera = new Camera2D();
+ camera.AnchorMode = Camera2D.AnchorModeEnum.FixedTopLeft;
+ RenderViewport.AddChild(camera);
+ _viewportTexture = RenderViewport.GetTexture();
+
+ root.AddChild(RenderViewport);
RenderingServer.FramePostDraw += OnFramePostDraw;
}
diff --git a/DungeonShooting_Godot/src/test/TestOptimizeSprite.cs b/DungeonShooting_Godot/src/test/TestOptimizeSprite.cs
index 4300a60..fcb299b 100644
--- a/DungeonShooting_Godot/src/test/TestOptimizeSprite.cs
+++ b/DungeonShooting_Godot/src/test/TestOptimizeSprite.cs
@@ -4,15 +4,11 @@
{
[Export()] public Texture2D[] ImageList;
- [Export()] public SubViewport SubViewport;
-
- [Export()] public Camera2D ViewCamera;
-
[Export()] public Label Label;
public override void _Ready()
{
- ImageCanvas.Init(SubViewport);
+ ImageCanvas.Init(GetTree().CurrentScene);
ImageCanvas.MaxHandlerTime = 4;
var scale = 2;