1

何時間も試してみましたが、何が悪いのかわかりません。

通常、Unity C# で public object/var を定義すると、インスペクターまたはデフォルトの参照に表示され、そこに何かをドラッグできます。

ここに私のテストコードがあります:

using UnityEngine;
using System;
using System.Collections;

[Serializable]
public class modGlobals : MonoBehaviour {

    public static GUIStyle defaultMask;
    public GUIStyle trollo;

}

あぁぁぁぁぁぁぁぁぁぁぁぁぁぁ...

オブジェクトが表示されない

いくつかのオプションを試し、Visual Studio と同様に MonoDev で記述し、すべてのファイルを名前空間に入れました。

手伝ってくれてありがとう!

4

1 に答える 1

1

はい、スクリプトはMonoBehaviourを継承しているため、プロパティインスペクターでパブリックメンバーを表示するには、シーン内のgameObjectにアタッチする必要があります。

これは私が得たものです。 シーンビューのプロパティインスペクター。

さらに、SerializableAttributeとしてマークされている場合でも、プロパティインスペクターで静的メンバーを公開することはできません。System.SerializableAttributeは、この宣言タイプでは無効です。`class、struct、enum、delegate'宣言でのみ有効です。

オブジェクトを使用してグローバルにアクセス可能なスクリプトを要求することについてのコメントに関連して、次のようないくつかのオプションがあります。

  • gameObjectにアタッチされたシングルトンスクリプト(例)。DontDestroyOnLoad )で設定されているため、シーンが変更されても持続します。
  • 静的クラス
于 2012-07-29T15:27:44.173 に答える