using Godot; namespace ColdMint.scripts; /// /// FPSLabel /// FPS标签 /// public partial class FpsLabel : Label { private bool _enable; private LabelSettings? _labelSettings; public override void _Ready() { Text = null; //Enabled only in debug mode. //仅在调试模式启用。 if (Config.IsDebug()) { _labelSettings = new LabelSettings(); LabelSettings = _labelSettings; _enable = true; } } public override void _Process(double delta) { if (!_enable) { return; } var fps = Engine.GetFramesPerSecond(); Text = "FPS:" + fps; if (_labelSettings != null) { //Green above 54 frames (smooth) //在54帧以上为绿色(流畅) if (fps > 54) { _labelSettings.FontColor = Colors.Green; } else if (fps > 48) { //Yellow between 48 and 54 frames (Karting) //在48到54帧之间为黄色(卡顿) _labelSettings.FontColor = Colors.Yellow; } else { //Red below 48 frames (lag) //在48帧以下为红色(卡) _labelSettings.FontColor = Colors.Red; } } } }