Unity的Project里面放了很多游戏资源,比如脚本或者图片。正常情况下我们可以通过鼠标双击来进行打开。假如我现在不想主动双击打开,我想自动打开某个脚本或者图片再或者别的资源怎么办?
如下代码所示,两种方法都OK 。这里是测试我用的是鼠标主动选择的对象,可以把需要打开的资源对象使用AssetDatabase.LoadAssetAtPath读取进来, 这样就可以打开任意对象了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
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里面了怎么办啊
重启试试吧。。
重启了并不行的啊