에 액세스하려면 개체 참조가 필요합니다. 그렇기 때문에 C# 프로그래밍에는별로 좋지 않습니다. 따라서 이것은 바보 같은 질문 일 수 있습니다. 다른 사람이 만든 게임에 손을 얹고 슬로건을 사용했습니다. 슬로건을 무작위로 선택하여 더 이상 정적이 아닌 슬로건 목록으로 변경했습니다.비 정적 멤버
using UnityEngine;
using System.Collections;
public class GameVersion : MonoBehaviour {
public const float AsFloat = 0.6f;
public const string AsString = "alpha v0.2.5";
public string Slogan = randomSlogan[new Random().Next(0,randomSlogan.Length) ];
string randomSlogan = {
"3000",
"bananas",
"now with sand"
};
}
그러나, 나는 여기에두고있어
GUI.Box(pos,"");
GUILayout.BeginArea(pos);
//Game version and slogan
GUIStyle version = new GUIStyle(GUI.skin.label);
version.fontSize = 60;
version.fontStyle = FontStyle.Bold;
GUILayout.Label(GameVersion.AsString,version);
GUILayout.Label(GameVersion.Slogan); //Right here.
필자는 다른 결과를 볼 수있는 "개체 참조가 비 정적 멤버 'Gameversion.Slogan'를 액세스하는 데 필요한"오류가 나타납니다 동일한 문제가 있지만 내 코드에 넣는 데 어려움을 겪고 있습니다. 아무도 여기에 맞는 솔루션을 제안 할 수 있습니까? 고맙습니다!
또한 미안, 내가 작은 코드 또는 많은 코드에 게시하는 경우!
GameVersion instance = new GameVersion();
GUILayout.Label(instance.Slogan);
인스턴스를 만들기 일반적으로 내 경험에서 바람직하다 :
확실히 GameVersion 인스턴스에 대한 참조를 사용해야합니다. 그 필드는 정적이 아닙니다. – BradleyDotNET
랜덤 슬로건을 반환하기 위해'Random' 인스턴스 변수를 만들어 사용해야합니다. '새로운 무작위(). 다음은'당신이하고 있다고 생각하는 것을하지 않습니다. –