내 엔진이 실행되고 있지 않을 때 화음 변수를 세 개 설정했습니다. 그러나이 필드에 데이터를 입력하면 프로그램을 실행하는 순간 Unity가 문자열을 지 웁니다.문자열 필드에 데이터가 저장되지 않습니다.
누군가 내가 잘못하고있는 것을 말해 줄 수 있습니까?
내가 생각할 수있는 모든 것을 시도하고 나는 어떤 곳 받고 없습니다 해요 : 편집기 클래스에서
을 :
나는 게임 오브젝트에 첨부했습니다 내 스크립트에TestEdit target_Object;
public string event_NameString = "";
public string event_ActionString = "Event action";
public string event_Label = "Event label";
void OnEnable()
{
target_Object = (TestEdit)target;
}
public override void OnInspectorGUI()
{
GUILayout.BeginVertical();
GUILayout.Space(10);
enum_Index = EditorGUILayout.Popup(enum_Index, enum_Option);
target_Object.nameString = event_NameString;
event_NameString = EditorGUILayout.TextField("Event Category", event_NameString);
event_ActionString = EditorGUILayout.TextField("Event Action", event_ActionString);
event_Label = EditorGUILayout.TextField("Event Label", event_Label);
GUILayout.Space(5);
GUILayout.EndVertical();
}
코드 : 문자열 때 취소 설정
:
string nameString = "";
string Test2 = "";
string Test3 = "";
void OnGUI()
{
if(GUI.Button(new Rect(0,0,100,100), "Send stuff"))
Analytics.gua.sendEventHit(nameString, Test2, Test3, 1);
}
여기서 두뿐만 아니라 그것을 나타내는 화상이며 성만이 재생되지 않습니다
를 그 다음이 재생되는 경우 :
는 내가 뭘하고 싶은거야하면 편집기에서이 값을 가지고 별도의 클래스에서 개최 다른 문자열로 전달할 수 있습니다. 위의 문자열은 편집자 클래스에서 보유하고 있으므로 이러한 값에 직접 액세스 할 수있는 방법이 없으며 솔직히이 값을 앞뒤로 전달하는 방법에 대해서는 조금 퍼지기 마련입니다.
하지만 지금까지 가지고있는 것을 보여주기 위해 코드 샘플을 업데이트 할 것입니다.
범위를 벗어나고 있습니까? – matcheek
나는 그렇게 생각하지 않는다. 그러나 문자열은 편집기 스크립트에 있습니다. – N0xus