Unity的Project里面放了很多游戏资源,比如脚本或者图片。正常情况下我们可以通过鼠标双击来进行打开。假如我现在不想主动双击打开,我想自动打开某个脚本或者图片再或者别的资源怎么办?
如下代码所示,两种方法都OK 。这里是测试我用的是鼠标主动选择的对象,可以把需要打开的资源对象使用AssetDatabase.LoadAssetAtPath读取进来, 这样就可以打开任意对象了。
using UnityEngine;
using System.Collections;
using UnityEditor;
public class MyPng :Editor {
[MenuItem("Assets/Auto Open")]
static void Run()
{
var obj = Selection.activeObject;
if (obj != null) {
if (!string.IsNullOrEmpty (AssetDatabase.GetAssetPath (obj.GetInstanceID ()))) {
AssetDatabase.OpenAsset (obj);
}
}
}
[MenuItem("Assets/Auto Open2")]
static void Run1()
{
var obj = Selection.activeObject;
if (obj != null) {
if (!string.IsNullOrEmpty (AssetDatabase.GetAssetPath (obj.GetInstanceID ()))) {
EditorApplication.ExecuteMenuItem ("Assets/Open");
}
}
}
}
- 本文固定链接: https://www.xuanyusong.com/archives/3875
- 转载请注明: 雨松MOMO于 雨松MOMO程序研究院 发表
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!

在Editor中的鼠标事件能不能重写 比如鼠标单击在工程文件时 不激活该组件在Inspector 上面的内容的展示,而是修改成右键激活 可行吗~
非常好用,谢谢MOMO
[挤眼]
雨松问一下,我在unity5.3里面打开Module Manager不知道设置了什么,现在不能从外面拖入资源到project里面了怎么办啊
重启试试吧。。
重启了并不行的啊