Skip to content
This repository was archived by the owner on May 2, 2026. It is now read-only.

Commit 42e864b

Browse files
committed
003版
0 parents  commit 42e864b

67 files changed

Lines changed: 1937 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.editorconfig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Normalize EOL for all files that Git considers text files.
2+
* text=auto eol=lf

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Godot 4+ specific ignores
2+
.godot/
3+
/android/

Global.gd

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
extends Node
2+
3+
4+
var is_dark:String = "true"
5+
6+
var mode:String = "txt"
7+
8+
signal code_light_changed(enabled: bool)
9+
10+
var title_font:String = "res://asset/SmileySans-Oblique.ttf"
11+
var main_font:String = "res://asset/SmileySans-Oblique.ttf"
12+
var music_path:String = ""
13+
var Dark_icon_path:String = "res://asset/item/dark.png"
14+
var Light_icon_path:String = "res://asset/item/light.png"
15+
16+
var main_color = Color(0.145, 0.478, 0.439)
17+
var back_color = Color(0.161, 0.161, 0.161)
18+
var title_font_color = Color(1.0, 1.0, 1.0)
19+
var main_font_color = Color(1.0, 1.0, 1.0)
20+
21+
var save_cfg_path:String = "C://Users/sodium_settins"
22+
23+
var sound_db:float = 0
24+
25+
var code_light:bool = false:
26+
set(value):
27+
if code_light != value:
28+
code_light = value
29+
code_light_changed.emit(code_light)
30+
31+
var music_play:bool = true
32+
33+
var minimap:bool = true
34+
35+
var db:float = 0.0
36+
37+
var font_size: int = 16.0
38+
39+
# 音量范围 (转换为线性值)
40+
const MIN_DB = -30.0 # 最小音量对应的分贝值
41+
const MAX_DB = 0.0 # 最大音量对应的分贝值
42+
43+
var master_volume_linear := 0.8:
44+
set(value):
45+
master_volume_linear = clamp(value, 0.0, 1.0)
46+
# 转换为分贝并设置到音频总线
47+
var db_volume = linear_to_db(master_volume_linear)
48+
AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), db_volume)
49+
# 保存设置
50+
save_volume()
51+
52+
func _ready():
53+
load_volume()
54+
load_settings()
55+
56+
func save_volume():
57+
var config = ConfigFile.new()
58+
config.set_value("audio", "master_volume", master_volume_linear)
59+
config.save("user://settings.cfg")
60+
61+
func load_volume():
62+
var config = ConfigFile.new()
63+
if config.load("user://settings.cfg") == OK:
64+
master_volume_linear = config.get_value("audio", "master_volume", 0.8)
65+
66+
67+
func load_settings():
68+
var config = ConfigFile.new()
69+
var result = config.load(save_cfg_path)
70+
if not FileAccess.file_exists(save_cfg_path):
71+
push_error("配置文件不存在: ", save_cfg_path)
72+
save_settings()
73+
74+
if result != OK:
75+
printerr("erro on load settings cfg!")
76+
title_font = "res://asset/SmileySans-Oblique.ttf"
77+
main_font = "res://asset/SmileySans-Oblique.ttf"
78+
music_path = ""
79+
Dark_icon_path = "res://asset/item/dark.png"
80+
Light_icon_path = "res://asset/item/light.png"
81+
82+
main_color = Color(0.145, 0.478, 0.439)
83+
back_color = Color(0.161, 0.161, 0.161)
84+
title_font_color = Color(1.0, 1.0, 1.0)
85+
main_font_color = Color(1.0, 1.0, 1.0)
86+
else:
87+
title_font = config.get_value("Settings", "title_font", "res://asset/SmileySans-Oblique.ttf")
88+
main_font = config.get_value("Settings", "main_font", "res://asset/SmileySans-Oblique.ttf")
89+
music_path = config.get_value("Settings", "music_path", "res://asset/SmileySans-Oblique.ttf")
90+
91+
main_color = config.get_value("Settings", "main_color", Color(0.145, 0.478, 0.439))
92+
back_color = config.get_value("Settings", "back_color", Color(0.161, 0.161, 0.161))
93+
title_font_color = config.get_value("Settings", "title_font_color", Color(1.0, 1.0, 1.0))
94+
main_font_color = config.get_value("Settings", "main_font_color", Color(1.0, 1.0, 1.0))
95+
96+
97+
func save_settings():
98+
var config = ConfigFile.new()
99+
config.set_value("Settings", "main_color", Global.main_color)
100+
config.set_value("Settings", "back_color", Global.back_color)
101+
config.set_value("Settings", "title_font_color", Global.title_font_color)
102+
config.set_value("Settings", "main_font_color", Global.main_font_color)
103+
config.set_value("Settings", "is_dark", Global.is_dark)
104+
config.set_value("Settings", "title_font_color", Global.title_font_color)
105+
config.set_value("Settings", "code_light", Global.code_light)
106+
config.set_value("Settings", "music_play", Global.music_play)
107+
config.set_value("Settings", "minimap", Global.minimap)
108+
config.set_value("Settings", "title_font", Global.title_font)
109+
config.set_value("Settings", "main_font", Global.main_font)
110+
config.set_value("Settings", "music_path", Global.music_path)
111+
config.set_value("Settings", "font_size", Global.font_size)
112+
113+
config.save(Global.save_cfg_path)
114+
115+
116+
func is_file_of_type(file_path: String, expected_extension: String) -> bool:
117+
return file_path.get_extension().to_lower() == expected_extension.to_lower()

Global.gd.uid

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
uid://cr5yjj5ctnf4m

Scene/EditBack/edit_back.gd

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
extends ColorRect
2+
3+
@onready var edit_back: ColorRect = $"."
4+
5+
6+
# Called every frame. 'delta' is the elapsed time since the previous frame.
7+
func _process(_delta: float) -> void:
8+
if Global.is_dark == "true":
9+
edit_back.color = Color(0.0, 0.0, 0.0, 0.459)
10+
elif Global.is_dark == "false":
11+
edit_back.color = Color(1.0, 1.0, 1.0, 0.635)
12+
else:
13+
edit_back.color = Global.back_color
14+

Scene/EditBack/edit_back.gd.uid

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
uid://ddy76o3foasge

Scene/EditBack/edit_back.tscn

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[gd_scene load_steps=2 format=3 uid="uid://cllvvtprdvwpi"]
2+
3+
[ext_resource type="Script" uid="uid://ddy76o3foasge" path="res://Scene/EditBack/edit_back.gd" id="1_l27gj"]
4+
5+
[node name="EditBack" type="ColorRect"]
6+
custom_minimum_size = Vector2(1152, 648)
7+
offset_right = 1152.0
8+
offset_bottom = 648.0
9+
color = Color(0, 0, 0, 0.458824)
10+
script = ExtResource("1_l27gj")

Scene/main/back_color.gd

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
extends ColorPickerButton
2+
3+
# 获取当前选中的颜色
4+
func get_selected_color() -> Color:
5+
return self.color
6+
7+
# 示例:当颜色改变时打印颜色值
8+
func _ready() -> void:
9+
self.color = Global.back_color
10+
# 连接颜色改变信号
11+
self.color_changed.connect(_on_color_changed)
12+
13+
func _on_color_changed(_color: Color) -> void:
14+
# 你也可以在这里获取颜色
15+
Global.back_color = get_selected_color()
16+
Global.is_dark = "other"

Scene/main/back_color.gd.uid

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
uid://ci21ltw1u4cc1

0 commit comments

Comments
 (0)