Unity 注释小技巧
你只需要在字段上添加特效即可 [Header( " 注释 " )][Space( 20 )] public Vector3 test1; ===================================================================================== 自己抽时间写了一个中文显示小脚本.下次问问老大能不能加到项目中去 usin
你只需要在字段上添加特效即可
[Header(<span>"</span><span>注释</span><span>"</span><span>)] [Space(</span><span>20</span><span>)] </span><span>public</span> Vector3 test1;
=====================================================================================
自己抽时间写了一个中文显示小脚本.下次问问老大能不能加到项目中去
<span>using</span><span> UnityEngine; </span><span>using</span><span> System.Collections; </span><span>using</span><span> UnityEditor; </span><span>using</span><span> System; </span><span>using</span><span> System.Reflection; </span><span>using</span><span> System.Collections.Generic; [CustomEditor(</span><span>typeof</span><span>(MyCompoment))] </span><span>public</span> <span>class</span><span> MyCompomentEditor : Editor{ </span><span>public</span> MyCompomentEditor():<span>base</span><span>() { </span><span>//</span><span>Debug.Log("我初始化了");</span> <span> } </span><span>private</span> <span>static</span> <span>bool</span> isDevelop = <span>true</span><span>; </span><span>public</span> <span>override</span> <span>void</span><span> OnInspectorGUI() { </span><span>if</span><span> (isDevelop) { MyCompoment edit </span>=<span> (MyCompoment)target; Type t </span>=<span> edit.GetType(); </span><span>string</span> label = <span>string</span><span>.Empty; FieldInfo[] fieldInfs </span>=<span> t.GetFields(); System.Object[] atrrs </span>= <span>null</span><span>; </span><span>for</span> (<span>int</span> i = <span>0</span>; i ) { atrrs = fieldInfs[i].GetCustomAttributes(<span>false</span><span>); </span><span>for</span> (<span>int</span> k = <span>0</span>; k false).Length; k++<span>) { </span><span>if</span> (atrrs[k] <span>is</span><span> LabelAttribute) { label </span>=<span> ((LabelAttribute)atrrs[k]).Label; </span><span>switch</span><span> (fieldInfs[i].FieldType.Name) { </span><span>case</span> <span>"</span><span>String</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.TextField(label, fieldInfs[i].GetValue(edit).ToString())); </span><span>break</span><span>; </span><span>case</span> <span>"</span><span>Float</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.FloatField(label, (</span><span>float</span><span>)fieldInfs[i].GetValue(edit))); </span><span>break</span><span>; </span><span>//</span><span>case "Double": </span><span>//</span><span> fieldInfs[i].SetValue(edit, EditorGUILayout.Doube(label, (double)fieldInfs[i].GetValue(edit))); </span><span>//</span><span> break;</span> <span>case</span> <span>"</span><span>Int</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.IntField(label, (</span><span>int</span><span>)fieldInfs[i].GetValue(edit))); </span><span>break</span><span>; </span><span>case</span> <span>"</span><span>Int32</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.IntField(label, (</span><span>int</span><span>)fieldInfs[i].GetValue(edit))); </span><span>break</span><span>; </span><span>case</span> <span>"</span><span>Color</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.ColorField(label, (UnityEngine.Color)fieldInfs[i].GetValue(edit))); </span><span>break</span><span>; </span><span>case</span> <span>"</span><span>GameObject</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.ObjectField(label, (UnityEngine.Object)fieldInfs[i].GetValue(edit), </span><span>typeof</span><span>(GameObject))); </span><span>break</span><span>; </span><span>case</span> <span>"</span><span>Component</span><span>"</span><span>: Debug.Log(</span><span>"</span><span>运行过Component</span><span>"</span><span>); fieldInfs[i].SetValue(edit, EditorGUILayout.ObjectField(label, (UnityEngine.Object)fieldInfs[i].GetValue(edit), </span><span>typeof</span><span>(Component))); </span><span>break</span><span>; </span><span>case</span> <span>"</span><span>Vector2</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.Vector2Field(label, (Vector2)fieldInfs[i].GetValue(edit))); </span><span>break</span><span>; </span><span>case</span> <span>"</span><span>Vector3</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.Vector3Field(label, (Vector3)fieldInfs[i].GetValue(edit))); </span><span>break</span><span>; </span><span>case</span> <span>"</span><span>Vector4</span><span>"</span><span>: fieldInfs[i].SetValue(edit, EditorGUILayout.Vector4Field(label, (Vector4)fieldInfs[i].GetValue(edit))); </span><span>break</span><span>; </span><span>//</span><span>case "Test": </span><span>//</span><span> Debug.Log("运行过Component"); </span><span>//</span><span> fieldInfs[i].SetValue(edit, EditorGUILayout.ObjectField(label, (UnityEngine.Object)fieldInfs[i].GetValue(edit), typeof(Component))); </span><span>//</span><span> break;</span> <span>default</span><span>: </span><span>//</span><span>Debug.Log("fieldInfs[i].Name " + fieldInfs[i].FieldType.BaseType.Name);</span> <span>if</span> (fieldInfs[i].FieldType.BaseType.Name == <span>"</span><span>MonoBehaviour</span><span>"</span><span>) { fieldInfs[i].SetValue(edit, EditorGUILayout.ObjectField(label, (UnityEngine.Object)fieldInfs[i].GetValue(edit), fieldInfs[i].FieldType)); } </span><span>break</span><span>; } } } } } </span><span>else</span><span> { </span><span>base</span><span>.OnInspectorGUI(); } } </span><span>#region</span> 暂时没有用到的代码 <span>/*</span><span> /// <summary> /// 缓存实例的属性,下次就不需要使用循环了 /// </summary> public Dictionary<string string> dir; public void GetProrptes() { if (isDevelop) { MyCompoment edit = (MyCompoment)target; Type t = edit.GetType(); string label = string.Empty; FieldInfo[] fieldInfos = t.GetFields(); System.Object[] atrrs = null; GUIContent contextUI = null; for (int i = 0; i <span>*/</span> <span>#endregion</span><span> }</span></string></span>
MyCompoment:
<span>using</span><span> UnityEngine; </span><span>using</span><span> System.Collections; [SerializeField] </span><span>public</span> <span>class</span><span> MyCompoment : MonoBehaviour { [LabelAttribute(Label </span>= <span>"</span><span>名字</span><span>"</span><span>)] </span><span>public</span> <span>string</span> MyName = <span>"</span><span>123</span><span>"</span><span>; [LabelAttribute(Label </span>= <span>"</span><span>float数字</span><span>"</span><span>)] </span><span>public</span> <span>float</span> float1 = <span>100</span><span>; [LabelAttribute(Label </span>= <span>"</span><span>double数字</span><span>"</span><span>)] </span><span>public</span> <span>double</span> double1 = <span>100</span><span>; [LabelAttribute(Label </span>= <span>"</span><span>int数字</span><span>"</span><span>)] </span><span>public</span> <span>int</span> int1 = <span>100</span><span>; [LabelAttribute(Label </span>= <span>"</span><span>颜色</span><span>"</span><span>)] </span><span>public</span> Color color1 =<span> Color.red; [LabelAttribute(Label </span>= <span>"</span><span>游戏物体</span><span>"</span><span>)] </span><span>public</span><span> GameObject GameObject1; [LabelAttribute(Label </span>= <span>"</span><span>组件</span><span>"</span><span>)] </span><span>public</span><span> StartPanel Component1; [LabelAttribute(Label </span>= <span>"</span><span>2D</span><span>"</span><span>)] </span><span>public</span><span> Vector2 Vector2; [LabelAttribute(Label </span>= <span>"</span><span>3D</span><span>"</span><span>)] </span><span>public</span><span> Vector3 Vector3; [LabelAttribute(Label </span>= <span>"</span><span>4D</span><span>"</span><span>)] </span><span>public</span><span> Vector4 Vector4; }</span>
LabelAttribute特性:
<span>using</span><span> UnityEngine; </span><span>using</span><span> System.Collections; </span><span>using</span><span> System; </span><span>public</span> <span>class</span><span> LabelAttribute : Attribute { </span><span>public</span> <span>string</span><span> Label; }</span>
源代码: http://yunpan.cn/cJhp4tThyGauJ 访问密码 5789

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Viele Benutzer bevorzugen im modernen Leben zunehmend das elektronische Ökosystem der Xiaomi-Smart-Home-Vernetzung. Nach der Verbindung mit der Mijia-APP können Sie die angeschlossenen Geräte problemlos mit Ihrem Mobiltelefon steuern. Viele Benutzer wissen jedoch immer noch nicht, wie sie Xiaomi hinzufügen können Wenn Sie die App zu Hause verwenden, erfahren Sie in diesem Tutorial die spezifischen Verbindungsmethoden und -schritte, in der Hoffnung, allen Bedürftigen zu helfen. 1. Nachdem Sie die Xiaomi-App heruntergeladen haben, erstellen Sie ein Xiaomi-Konto oder melden Sie sich an. 2. Methode zum Hinzufügen: Nachdem das neue Gerät eingeschaltet ist, bringen Sie das Telefon in die Nähe des Geräts und schalten Sie den Xiaomi-Fernseher ein. Unter normalen Umständen wird eine Verbindungsaufforderung angezeigt. Wählen Sie „OK“, um den Geräteverbindungsvorgang zu starten. Wenn keine Aufforderung erscheint, können Sie das Gerät auch manuell hinzufügen. Die Methode ist: Klicken Sie nach dem Aufrufen der Smart Home-App auf die 1. Schaltfläche unten links

Teilen von Win11-Tipps: Ein Trick, um die Anmeldung bei einem Microsoft-Konto zu überspringen Windows 11 ist das neueste Betriebssystem von Microsoft mit neuem Designstil und vielen praktischen Funktionen. Für einige Benutzer kann es jedoch etwas nervig sein, sich bei jedem Systemstart bei ihrem Microsoft-Konto anmelden zu müssen. Wenn Sie einer von ihnen sind, können Sie auch die folgenden Tipps ausprobieren, die es Ihnen ermöglichen, die Anmeldung mit einem Microsoft-Konto zu überspringen und direkt auf die Desktop-Oberfläche zuzugreifen. Zunächst müssen wir anstelle eines Microsoft-Kontos ein lokales Konto im System erstellen, um uns anzumelden. Der Vorteil dabei ist

In der C-Sprache stellt es einen Zeiger dar, der die Adresse anderer Variablen speichert; & stellt den Adressoperator dar, der die Speicheradresse einer Variablen zurückgibt. Zu den Tipps zur Verwendung von Zeigern gehören das Definieren von Zeigern, das Dereferenzieren von Zeigern und das Sicherstellen, dass Zeiger auf gültige Adressen zeigen. Tipps zur Verwendung von Adressoperatoren sowie das Abrufen von Variablenadressen und das Zurückgeben der Adresse des ersten Elements des Arrays beim Abrufen der Adresse eines Array-Elements . Ein praktisches Beispiel, das die Verwendung von Zeiger- und Adressoperatoren zum Umkehren einer Zeichenfolge veranschaulicht.

Wir erstellen und bearbeiten Tabellen oft in Excel, aber als Neuling, der gerade erst mit der Software in Berührung gekommen ist, ist die Verwendung von Excel zum Erstellen von Tabellen nicht so einfach wie für uns. Im Folgenden führen wir einige Übungen zu einigen Schritten der Tabellenerstellung durch, die Anfänger, also Anfänger, beherrschen müssen. Wir hoffen, dass sie für Bedürftige hilfreich sind. Unten sehen Sie ein Beispielformular für Anfänger: Mal sehen, wie man es ausfüllt! 1. Es gibt zwei Methoden, ein neues Excel-Dokument zu erstellen. Sie können mit der rechten Maustaste auf eine leere Stelle in der Datei [Desktop] – [Neu] – [xls] klicken. Sie können auch [Start]-[Alle Programme]-[Microsoft Office]-[Microsoft Excel 20**] wählen. 2. Doppelklicken Sie auf unser neues Ex

Die Chrome-Erweiterung von Tampermonkey ist ein Plug-in zur Benutzerskriptverwaltung, das die Benutzereffizienz und das Surferlebnis durch Skripte verbessert. Wie fügt Tampermonkey neue Skripte hinzu? Wie lösche ich das Skript? Lassen Sie sich vom Editor unten die Antwort geben! So fügen Sie ein neues Skript zu Tampermonkey hinzu: 1. Öffnen Sie die GreasyFork-Webseite und geben Sie das Skript ein, dem Sie folgen möchten. 2. Wählen Sie ein Skript aus. Nachdem Sie die Skriptseite aufgerufen haben, wird die Schaltfläche zum Installieren dieses Skripts angezeigt. 3. Klicken Sie auf „Dieses Skript installieren“, um zur Installationsoberfläche zu gelangen. Klicken Sie einfach hier, um zu installieren. 4. Wir können die installierte Datei mit einem Klick im Installationsskript sehen.
![Outlook bleibt beim Hinzufügen eines Kontos hängen [Behoben]](https://img.php.cn/upload/article/000/887/227/171116770937641.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Wenn beim Hinzufügen von Konten in Outlook Probleme auftreten, können Sie die folgenden Lösungen ausprobieren, um das Problem zu beheben. Normalerweise kann dies durch eine fehlerhafte Netzwerkverbindung, beschädigte Benutzerprofile oder andere vorübergehende Probleme verursacht werden. Mit den in diesem Artikel bereitgestellten Methoden können Sie diese Probleme leicht lösen und sicherstellen, dass Ihr Outlook normal ausgeführt werden kann. Outlook bleibt beim Hinzufügen eines Kontos hängen Wenn Ihr Outlook beim Hinzufügen eines Kontos hängen bleibt, verwenden Sie die unten aufgeführten Korrekturen: Trennen Sie die Internetverbindung und stellen Sie sie wieder her. Deaktivieren Sie die Antivirensoftware vorübergehend. Erstellen Sie ein neues Outlook-Profil. Versuchen Sie, ein Konto im abgesicherten Modus hinzuzufügen. Deaktivieren Sie IPv6. Führen Sie die Reparatur des Microsoft Support and Recovery Assistant aus Office-Anwendung Outlook-Konto hinzufügen erforderlich

VSCode (Visual Studio Code) ist ein von Microsoft entwickelter Open-Source-Code-Editor. Er verfügt über leistungsstarke Funktionen und umfangreiche Plug-in-Unterstützung, was ihn zu einem der bevorzugten Tools für Entwickler macht. Dieser Artikel bietet eine Einführung für Anfänger, die ihnen hilft, schnell die Fähigkeiten im Umgang mit VSCode zu erlernen. In diesem Artikel stellen wir die Installation von VSCode, grundlegende Bearbeitungsvorgänge, Tastenkombinationen, Plug-In-Installation usw. vor und stellen den Lesern spezifische Codebeispiele zur Verfügung. 1. Installieren Sie zuerst VSCode, wir brauchen

Win11-Tricks aufgedeckt: So umgehen Sie die Anmeldung bei einem Microsoft-Konto. Vor kurzem hat Microsoft ein neues Betriebssystem Windows11 auf den Markt gebracht, das große Aufmerksamkeit erregt hat. Im Vergleich zu früheren Versionen hat Windows 11 viele neue Anpassungen in Bezug auf das Interface-Design und funktionale Verbesserungen vorgenommen, aber es hat auch einige Kontroversen ausgelöst. Der auffälligste Punkt ist, dass es Benutzer dazu zwingt, sich mit einem Microsoft-Konto am System anzumelden . Einige Benutzer sind möglicherweise eher daran gewöhnt, sich mit einem lokalen Konto anzumelden, und sind nicht bereit, ihre persönlichen Daten an ein Microsoft-Konto zu binden.
