我正在编写一个 Unity 编辑器脚本,需要确保存在 (UI) 事件系统,所以我想创建一个(如果它还没有)。但是,在尝试将EventSystem
类和StandaloneInputModule
类导入脚本时,找不到该类和类。这是怎么回事?我也找不到有关此事的任何其他信息。
是的,您可以从脚本创建EventSystem
。与任何其他组件一样,创建一个GameObject
并向其中添加所需的组件。
using UnityEngine;
using UnityEngine.EventSystems;
public class CreateEventSystem : MonoBehaviour
{
void Start()
{
if (FindObjectOfType<EventSystem>() == null)
{
var eventSystem = new GameObject("EventSystem", typeof(EventSystem), typeof(StandaloneInputModule));
}
}
}
添加 UI 项时,将自动添加事件系统对象。只需将其拖到项目中即可使其成为预制件,以便您可以像任何游戏对象一样使用它进行实例化。
public GameObject eventPrefab;
void Start(){
if(GameObject.Find("EventSystem") == null){
Instantiate(eventPrefab);
}
}