实现用鼠标单击视口,图标移动到当前点击位置,并将位置信息封装为字典,然后转化为JSON格式,保存到外部文件,然后二次运行的时候,从外部文件读取JSON内容,转化为字典,然后再次还原上次的图标位置。
这只是一个非常简单的案例,但是已经接触了Godot文件存取信息的核心。
extends Node2Dvar fPath = "res://txt.json"var json = {}func _ready():var f = File.new()# 文件是否存在if f.file_exists(fPath):f.open(fPath,File.READ)var text = f.get_as_text()f.close()# 将JSON文本转化为Godot字典。json = parse_json(text)print(json is Dictionary) # 返回true$icon.position.x = json.position.x$icon.position.y = json.position.yelse: # 文件不存在json ={"position":{"x":$icon.position.x,"y":$icon.position.y,}}f.open(fPath,File.WRITE)f.store_string(to_json(json))f.close()func _input(event):# 鼠标点击if event as InputEventMouseButton:$icon.position = event.positionjson.position.x = $icon.position.xjson.position.y = $icon.position.y# 将对象转化为JSONvar text = to_json(json)var f = File.new()f.open("res://txt.json",File.WRITE)f.store_string(text)f.close()
