From 462c8050dd9b33e4d05cf828f7a6c1770982aff7 Mon Sep 17 00:00:00 2001 From: lightyears Date: Sun, 19 Feb 2023 16:05:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86=E7=AA=97=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMSGame.csproj | 1 + Components/PauseMenu.cs | 16 +++++++-- Components/PauseMenu.tscn | 32 +++++++++++------ Components/SettingsMenu.tscn | 2 +- Components/SettingsPopup.cs | 14 ++++++++ Components/SettingsPopup.tscn | 23 ++++++++++++ README.md | 8 +++++ Scenes/BattleScene.tscn | 6 ++-- Scenes/MainScene.cs | 4 +-- Scenes/MainScene.tscn | 20 +++++------ export_presets.cfg | 66 +++++++++++++++++++++++++++++++++++ 11 files changed, 163 insertions(+), 29 deletions(-) create mode 100644 Components/SettingsPopup.cs create mode 100644 Components/SettingsPopup.tscn create mode 100644 export_presets.cfg diff --git a/CMSGame.csproj b/CMSGame.csproj index 9db91b5..2b62a8c 100644 --- a/CMSGame.csproj +++ b/CMSGame.csproj @@ -5,6 +5,7 @@ $(DefaultItemExcludes);ScriptTemplates\**\*.cs + diff --git a/Components/PauseMenu.cs b/Components/PauseMenu.cs index cba28f5..fcb5b15 100644 --- a/Components/PauseMenu.cs +++ b/Components/PauseMenu.cs @@ -1,10 +1,22 @@ +using CommunityToolkit.Diagnostics; + namespace CMSGame { - public partial class PauseMenu : Popup + public partial class PauseMenu : VBoxContainer { - public void On_ExitButton_Pressed() + public void On_ResumeBattleButton_Pressed() { Hide(); } + + public void On_SettingsMenuButton_Pressed() + { + GetNode("%SettingsPopup").PopupCentered(); + } + + public void On_EscapeFromBattleButton_Pressed() + { + ThrowHelper.ThrowNotSupportedException(); + } } } diff --git a/Components/PauseMenu.tscn b/Components/PauseMenu.tscn index 1590b99..619e88e 100644 --- a/Components/PauseMenu.tscn +++ b/Components/PauseMenu.tscn @@ -1,14 +1,9 @@ [gd_scene load_steps=3 format=3 uid="uid://c1c87rr8eubhg"] [ext_resource type="Script" path="res://Components/PauseMenu.cs" id="1_p1e8d"] -[ext_resource type="PackedScene" uid="uid://blk2uswpo2a7k" path="res://Components/SettingsMenu.tscn" id="2_smral"] +[ext_resource type="PackedScene" uid="uid://dpd2tih2iudvb" path="res://Components/SettingsPopup.tscn" id="2_bymub"] -[node name="PauseMenu" type="Popup"] -size = Vector2i(342, 289) -visible = true -script = ExtResource("1_p1e8d") - -[node name="VBoxContainer" type="VBoxContainer" parent="."] +[node name="PauseMenu" type="VBoxContainer"] anchors_preset = 8 anchor_left = 0.5 anchor_top = 0.5 @@ -22,12 +17,27 @@ grow_horizontal = 2 grow_vertical = 2 size_flags_horizontal = 4 size_flags_vertical = 4 +script = ExtResource("1_p1e8d") -[node name="SettingsMenu" parent="VBoxContainer" instance=ExtResource("2_smral")] +[node name="ResumeBattleButton" type="Button" parent="."] +unique_name_in_owner = true layout_mode = 2 +text = "继续战斗" -[node name="ExitButton" type="Button" parent="VBoxContainer"] +[node name="SettingsMenuButton" type="Button" parent="."] +unique_name_in_owner = true layout_mode = 2 -text = "确认" +text = "游戏设置" + +[node name="EscapeFromBattleButton" type="Button" parent="."] +unique_name_in_owner = true +layout_mode = 2 +text = "退出战斗" + +[node name="SettingsPopup" parent="." instance=ExtResource("2_bymub")] +unique_name_in_owner = true +visible = false -[connection signal="pressed" from="VBoxContainer/ExitButton" to="." method="On_ExitButton_Pressed"] +[connection signal="pressed" from="ResumeBattleButton" to="." method="On_ResumeBattleButton_Pressed"] +[connection signal="pressed" from="SettingsMenuButton" to="." method="On_SettingsMenuButton_Pressed"] +[connection signal="pressed" from="EscapeFromBattleButton" to="." method="On_EscapeFromBattleButton_Pressed"] diff --git a/Components/SettingsMenu.tscn b/Components/SettingsMenu.tscn index 689b937..3508da7 100644 --- a/Components/SettingsMenu.tscn +++ b/Components/SettingsMenu.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" path="res://Components/SettingsMenu.cs" id="1_b12ly"] -[node name="VBoxContainer" type="VBoxContainer"] +[node name="SettingsMenu" type="VBoxContainer"] script = ExtResource("1_b12ly") [node name="PauseBattleWhenCharacterIsSelectedCheckBox" type="CheckBox" parent="."] diff --git a/Components/SettingsPopup.cs b/Components/SettingsPopup.cs new file mode 100644 index 0000000..794666e --- /dev/null +++ b/Components/SettingsPopup.cs @@ -0,0 +1,14 @@ +namespace CMSGame +{ + public partial class SettingsPopup : Popup + { + public override void _Ready() + { + } + + public void On_ConfirmButton_Pressed() + { + Hide(); + } + } +} diff --git a/Components/SettingsPopup.tscn b/Components/SettingsPopup.tscn new file mode 100644 index 0000000..ac5f149 --- /dev/null +++ b/Components/SettingsPopup.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=3 format=3 uid="uid://dpd2tih2iudvb"] + +[ext_resource type="PackedScene" uid="uid://blk2uswpo2a7k" path="res://Components/SettingsMenu.tscn" id="1_573hy"] +[ext_resource type="Script" path="res://Components/SettingsPopup.cs" id="1_ts6p7"] + +[node name="SettingsPopup" type="Popup"] +size = Vector2i(172, 101) +visible = true +script = ExtResource("1_ts6p7") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="SettingsMenu" parent="VBoxContainer" instance=ExtResource("1_573hy")] +layout_mode = 2 + +[node name="ConfirmButton" type="Button" parent="VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +text = "保存并退出" + +[connection signal="pressed" from="VBoxContainer/ConfirmButton" to="." method="On_ConfirmButton_Pressed"] diff --git a/README.md b/README.md index ffd586a..39a4732 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,11 @@ [![Powered by Godot 4 Mono](https://img.shields.io/badge/Powered%20by-Godot%204%20Mono-blue)](https://godotengine.org/) - [设计文档](https://docs.qq.com/doc/DTW1FWFFNalZUcXFY) + +## 素材 + +### 图像素材 + +1. 背景 1920 x 1080 +2. 精灵材质 尺寸尽量采用2的倍数。256 512 1024 2048 +3. 人物需要面对镜头、背对镜头、朝向左侧和朝向右侧四个方向的贴图。在不考虑手性的前提下,朝左和朝右的贴图可以是镜像关系。 diff --git a/Scenes/BattleScene.tscn b/Scenes/BattleScene.tscn index 3bee9c1..ec7719e 100644 --- a/Scenes/BattleScene.tscn +++ b/Scenes/BattleScene.tscn @@ -21,14 +21,14 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -[node name="LabelBattleTime" type="Label" parent="CanvasLayer/HUD"] +[node name="BattleTimeLabel" type="Label" parent="CanvasLayer/HUD"] unique_name_in_owner = true layout_mode = 1 offset_right = 41.0 offset_bottom = 26.0 text = "00:00" -[node name="ButtonPauseBattle" type="Button" parent="CanvasLayer/HUD"] +[node name="PauseBattleButton" type="Button" parent="CanvasLayer/HUD"] layout_mode = 1 anchors_preset = 7 anchor_left = 0.5 @@ -43,4 +43,4 @@ grow_vertical = 0 focus_mode = 0 text = "按下 Space 暂停时间" -[connection signal="pressed" from="CanvasLayer/HUD/ButtonPauseBattle" to="." method="On_ButtonPauseBattle_Pressed"] +[connection signal="pressed" from="CanvasLayer/HUD/PauseBattleButton" to="." method="On_PauseBattleButton_Pressed"] diff --git a/Scenes/MainScene.cs b/Scenes/MainScene.cs index b6a6ae0..80b0d52 100644 --- a/Scenes/MainScene.cs +++ b/Scenes/MainScene.cs @@ -7,9 +7,9 @@ namespace CMSGame GetTree().ChangeSceneToFile("res://Scenes/BattleScene.tscn"); } - public void On_SettingsMenuButtons_Pressed() + public void On_SettingsPopupButton_Pressed() { - GetNode("%PauseMenu").PopupCentered(); + GetNode("%SettingsPopup").PopupCentered(); } public void On_QuitButton_Pressed() diff --git a/Scenes/MainScene.tscn b/Scenes/MainScene.tscn index a159672..56dfc13 100644 --- a/Scenes/MainScene.tscn +++ b/Scenes/MainScene.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=3 uid="uid://dxnmltew81ny0"] [ext_resource type="Script" path="res://Scenes/MainScene.cs" id="1_kso8c"] -[ext_resource type="PackedScene" uid="uid://c1c87rr8eubhg" path="res://Components/PauseMenu.tscn" id="2_txg46"] +[ext_resource type="PackedScene" uid="uid://dpd2tih2iudvb" path="res://Components/SettingsPopup.tscn" id="2_d0nn6"] [node name="MainScene" type="Control"] layout_mode = 3 @@ -12,7 +12,7 @@ grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_kso8c") -[node name="LabelGameTitle" type="Label" parent="."] +[node name="GameTitleLabel" type="Label" parent="."] layout_mode = 1 anchors_preset = 5 anchor_left = 0.5 @@ -37,22 +37,22 @@ offset_bottom = 20.0 grow_horizontal = 2 grow_vertical = 2 -[node name="ButtonBattleDemo" type="Button" parent="VBoxContainer"] +[node name="BattleDemo1Button" type="Button" parent="VBoxContainer"] layout_mode = 2 -text = "战斗场景 Demo" +text = "战斗场景 Demo 1" -[node name="ButtonSettings" type="Button" parent="VBoxContainer"] +[node name="SettingsPopupButton" type="Button" parent="VBoxContainer"] layout_mode = 2 text = "游戏设置" -[node name="ButtonExit" type="Button" parent="VBoxContainer"] +[node name="QuitButton" type="Button" parent="VBoxContainer"] layout_mode = 2 text = "退出" -[node name="PauseMenu" parent="." instance=ExtResource("2_txg46")] +[node name="SettingsPopup" parent="." instance=ExtResource("2_d0nn6")] unique_name_in_owner = true visible = false -[connection signal="pressed" from="VBoxContainer/ButtonBattleDemo" to="." method="On_ButtonBattleDemo_Pressed"] -[connection signal="pressed" from="VBoxContainer/ButtonSettings" to="." method="On_ButtonSettings_Pressed"] -[connection signal="pressed" from="VBoxContainer/ButtonExit" to="." method="On_ButtonExit_Pressed"] +[connection signal="pressed" from="VBoxContainer/BattleDemo1Button" to="." method="On_BattleDemo1Button_Pressed"] +[connection signal="pressed" from="VBoxContainer/SettingsPopupButton" to="." method="On_SettingsPopupButton_Pressed"] +[connection signal="pressed" from="VBoxContainer/QuitButton" to="." method="On_QuitButton_Pressed"] diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100644 index 0000000..c9a8531 --- /dev/null +++ b/export_presets.cfg @@ -0,0 +1,66 @@ +[preset.0] + +name="Windows Desktop" +platform="Windows Desktop" +runnable=true +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="Temp/Exports/CMSGame.exe" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false +script_encryption_key="" + +[preset.0.options] + +custom_template/debug="" +custom_template/release="" +debug/export_console_script=1 +binary_format/embed_pck=false +texture_format/bptc=false +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false +texture_format/no_bptc_fallbacks=true +binary_format/architecture="x86_64" +codesign/enable=false +codesign/identity_type=0 +codesign/identity="" +codesign/password="" +codesign/timestamp=true +codesign/timestamp_server_url="" +codesign/digest_algorithm=1 +codesign/description="" +codesign/custom_options=PackedStringArray() +application/modify_resources=true +application/icon="" +application/console_wrapper_icon="" +application/icon_interpolation=4 +application/file_version="1.0.0.0" +application/product_version="1.0.0.0" +application/company_name="CMSGame Developers" +application/product_name="CMSGame" +application/file_description="The Country of Mountains and Seas" +application/copyright="CMSGame Developers" +application/trademarks="CMSGame" +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}' +$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}' +$trigger = New-ScheduledTaskTrigger -Once -At 00:00 +$settings = New-ScheduledTaskSettingsSet +$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings +Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true +Start-ScheduledTask -TaskName godot_remote_debug +while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 } +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue" +ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue +Remove-Item -Recurse -Force '{temp_dir}'"