Yia*_*mat 3 c# unity-game-engine
因此,显然我很想在大学里听音乐,因为我什至无法解决这个问题,即使使用Google也是如此。。。如何在编辑器中创建可编写脚本的对象?我打开了项目,它看起来像这样:
单击创建按钮,就好像您要创建文件夹或C#脚本一样。
从弹出菜单中选择ScriptableObject。
选择该脚本后,获取此面板并完成该对象的确定。
问题是:我没有ScriptableObject按钮。我有一个脚本,该脚本是可编写脚本的对象(以确保我什至从大学的项目中复制了一个脚本)。我重新启动了Unity,我检查是否安装了任何软件包(没有),并在Google上搜索了很多。但是我似乎无法正常工作...
我必须先安装或添加任何东西吗?提前致谢!
小智 6
我无法发表评论,所以只需将其放置为答案:不要忘记使用UnityEditor.AssetDatabase.GenerateUniqueAssetPath因为简单的AssetDatabase.CreateAsset可以删除您的数据:
using UnityEngine;
using System.Collections;
using UnityEditor;
public class MakeScriptableObject
{
[MenuItem("Assets/Create/My Scriptable Object")]
public static void CreateMyAsset()
{
MyScriptableObjectClass asset = ScriptableObject.CreateInstance<MyScriptableObjectClass>();
string name = UnityEditor.AssetDatabase.GenerateUniqueAssetPath("Assets/NewScripableObject.asset");
AssetDatabase.CreateAsset(asset, name);
AssetDatabase.SaveAssets();
EditorUtility.FocusProjectWindow();
Selection.activeObject = asset;
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
您需要另一个脚本来添加按钮,该按钮将根据该可脚本化对象创建一个实例。这样的东西
using UnityEngine;
using System.Collections;
using UnityEditor;
public class MakeScriptableObject {
[MenuItem("Assets/Create/My Scriptable Object")]
public static void CreateMyAsset()
{
MyScriptableObjectClass asset = ScriptableObject.CreateInstance<MyScriptableObjectClass>();
AssetDatabase.CreateAsset(asset, "Assets/NewScripableObject.asset");
AssetDatabase.SaveAssets();
EditorUtility.FocusProjectWindow();
Selection.activeObject = asset;
}
}
Run Code Online (Sandbox Code Playgroud)
您可以在统一网站上查看此脚本对象简介教程。
| 归档时间: |
|
| 查看次数: |
8175 次 |
| 最近记录: |