using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayConversations : MonoBehaviour
{
private static ConversationTrigger conversationTrigger;
private static PlayConversations instance;
private void Awake()
{
conversationTrigger.GetComponent<ConversationTrigger>();
instance = this;
}
public static void ConversationToPlay(int index)
{
ConversationTrigger.conversationsToPlay.Add(index);
instance.StartCoroutine(conversationTrigger.PlayConversations());
}
}
这不是给我错误或异常,而只是唤醒中的那一行:
conversationTrigger.GetComponent<ConversationTrigger>();
然后继续游戏,而不是脚本中的代码。使用断点可以到达这一行,但不会继续执行其余的代码。
脚本已附加到已经附加了ConversationTrigger脚本的GameObject。
答案 0 :(得分:1)
我总是这样使用。而且有效。
public class MyObject : MonoBehaviour
{
public static MyObject Instance = null;
void Awake()
{
if (Instance == null)
{
Instance = this;
}
else
{
DestroyImmediate(Instance.gameObject);
Instance = this;
}
}
void OnDestroy()
{
if (Instance == this)
{
Instance = null;
}
}
}
当您要调用对象时,必须使用
MyObject x = MyObject.Instance;
var rb = x.transform.GetComponent<Ridigbody2d>();