加载后,再次新增节点会重叠的bug。
一个有别于游戏界面的标题界面

func _on_button_pressed():
后台处理.游戏数据=ResourceLoader.load("res://储存的数据/NEW_GAME_DATE.tres")
get_tree().change_scene_to_file("res://PLAY.tscn")
pass # Replace with function body.
func _on_button_2_pressed():
后台处理.游戏数据=ResourceLoader.load("res://储存的数据/LOAD_GAME_DATE.tres")
get_tree().change_scene_to_file("res://PLAY.tscn")
pass # Replace with function body.
VBoxContainer的界面

func _ready():
var bbq = 后台处理.游戏数据.记录合集
for packed_scene in bbq:
if packed_scene != null:
var instance = packed_scene.instantiate()
$Control/ScrollContainer/VBoxContainer.add_child(instance)
func _on_button_pressed():
$Control.visible=true
pass # Replace with function body.
func _on_button_3_pressed():
$Control.visible=false
pass # Replace with function body.
func _on_save_button_pressed():
后台处理.游戏数据.记录合集.clear()
for child in $Control/ScrollContainer/VBoxContainer.get_children():
var U474 := PackedScene.new()
U474.pack(child)
后台处理.游戏数据.记录合集.append(U474)
var SWWW = 后台处理.游戏数据
ResourceSaver.save(SWWW,"res://储存的数据/LOAD_GAME_DATE.tres")
pass # Replace with function body.
func _on_add_button_pressed():
var sgg=load("res://new222.tscn").instantiate()
$Control/ScrollContainer/VBoxContainer.add_child(sgg)
pass # Replace with function body.
默认加载后台的子节点PackedScene。
开始游戏的时候是空的


选择增加记录加入一堆子节点

新增的子节点只是HBOX和一个label
保存

成功打包。
关闭游戏 再次打开 选择继续游戏

节点被顺利加载回来,数量是对的。

但是当这个时候选择增加记录
新的记录会被堆叠在一起,旧的没有影响(因为正在做游戏原型里这些节点的数值都是不一样的)

不停按下增加记录。
被挤在亚空间的节点,大概数量等于但是保存的节点。
加入1234567节点被打包保存
重新打开游戏加载回去1234567
增加记录的8会被重叠
9 10 12 13 14都会被重叠。
当增加到第15个时
8会被挤出来加载在最下面
这个时候被困在亚空间的数组是10 11 12 13 14 15
后台的全局变量只有一个变量
extends Node
@export var 游戏数据:Resource
游戏数据同理,只有一个记录合集的数组。
extends Resource
class_name game_date
@export var 记录合集:Array[PackedScene]

play的场景树。
一个有别于游戏界面的标题界面

func _on_button_pressed():
后台处理.游戏数据=ResourceLoader.load("res://储存的数据/NEW_GAME_DATE.tres")
get_tree().change_scene_to_file("res://PLAY.tscn")
pass # Replace with function body.
func _on_button_2_pressed():
后台处理.游戏数据=ResourceLoader.load("res://储存的数据/LOAD_GAME_DATE.tres")
get_tree().change_scene_to_file("res://PLAY.tscn")
pass # Replace with function body.
VBoxContainer的界面

func _ready():
var bbq = 后台处理.游戏数据.记录合集
for packed_scene in bbq:
if packed_scene != null:
var instance = packed_scene.instantiate()
$Control/ScrollContainer/VBoxContainer.add_child(instance)
func _on_button_pressed():
$Control.visible=true
pass # Replace with function body.
func _on_button_3_pressed():
$Control.visible=false
pass # Replace with function body.
func _on_save_button_pressed():
后台处理.游戏数据.记录合集.clear()
for child in $Control/ScrollContainer/VBoxContainer.get_children():
var U474 := PackedScene.new()
U474.pack(child)
后台处理.游戏数据.记录合集.append(U474)
var SWWW = 后台处理.游戏数据
ResourceSaver.save(SWWW,"res://储存的数据/LOAD_GAME_DATE.tres")
pass # Replace with function body.
func _on_add_button_pressed():
var sgg=load("res://new222.tscn").instantiate()
$Control/ScrollContainer/VBoxContainer.add_child(sgg)
pass # Replace with function body.
默认加载后台的子节点PackedScene。
开始游戏的时候是空的


选择增加记录加入一堆子节点

新增的子节点只是HBOX和一个label
保存

成功打包。
关闭游戏 再次打开 选择继续游戏

节点被顺利加载回来,数量是对的。

但是当这个时候选择增加记录
新的记录会被堆叠在一起,旧的没有影响(因为正在做游戏原型里这些节点的数值都是不一样的)

不停按下增加记录。
被挤在亚空间的节点,大概数量等于但是保存的节点。
加入1234567节点被打包保存
重新打开游戏加载回去1234567
增加记录的8会被重叠
9 10 12 13 14都会被重叠。
当增加到第15个时
8会被挤出来加载在最下面
这个时候被困在亚空间的数组是10 11 12 13 14 15
后台的全局变量只有一个变量
extends Node
@export var 游戏数据:Resource
游戏数据同理,只有一个记录合集的数组。
extends Resource
class_name game_date
@export var 记录合集:Array[PackedScene]

play的场景树。
