在unity创建出来unity静态方法util类是干什么用的

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明


其中的T和Type表示要获取对象的类型,可以是GameObject或Component此方法用于获取工程中所有符合参数類型的对象。

在过去十年中Unity一直是开发游戏嘚绝佳平台,为开发人员提供大量工具:渲染引擎??物理引擎,动画系统音频混合器等。但是在创建关卡或生成游戏内数据时,Unity鈈足因为每个游戏都是独一无二的,需要不同种类的工具值得庆幸的是,Unity为我们的开发人员提供了一个API可以创建我们自己的编辑器窗口,自定义抽屉和检查器面板在这一系列的博客文章中,我将向您展示我们如何在Gram Games中为设计师和艺术家在Unity中开发自定义编辑器我们將首先创建一个编辑器窗口,在其中放置两个面板然后使其可调整大小。在下一篇文章中我们将该窗口转换为Unity自己的控制台窗口的克隆。

那么让我们开始吧!首先,我们将创建一个空的Unity项目并在Assets下添加一个名为Editor的文件夹。如果您在Unity中为文件夹指定某些名称它将以特殊方式处理其内容。编辑器就是其中一个名称此文件夹中的脚本将成为Unity自己编辑器的一部分。那么让我们构建一个编辑器窗口脚本:进入刚刚创建的Editor文件夹,右键单击然后选择Create - > C#Script。您也可以选择Editor Test C#Script但我们会改变所有内容,所以它实际上并不重要将脚本命名为ResizablePanels,嘫后在您喜欢的文本编辑器中打开它(在Gram Games中我们更喜欢Xamarin)

编辑器窗口需要初始化unity静态方法方法。 在这个方法中我们将构建窗口并(可選)给它一个标题。 GetWindow()是一个EditorWindow方法它创建窗口(如果它不存在),或者查找并关注它(如果存在)

但是,unity静态方法方法本身是不够嘚我们还需要添加一个按钮或类似的东西,让我们的用户在Unity中打开窗口 值得庆幸的是,已经有一个名为MenuItem的属性它将一个菜单项添加箌Unity的菜单栏并运行它应用的方法。 因此以下代码将创建您可以在Unity中创建的最基本的编辑器窗口。


这是我们点击它时打开的窗口:


为了在這个窗口中绘图我们将使用OnGUI()方法(是的,Unity自己的编辑器系统仍然使用旧的GUI系统它可能不会长时间改变)。但首先我们需要两个矩形来定义我们的面板。我还将在他们自己的方法中绘制这些面板所以当我们处理它时,我们也应该添加这些方法

我们的编辑窗口开始形成。我们现在需要做的就是绘制面板并检查它们是否正常工作GUILayout.BeginArea(Rect rect)将创建一个要绘制的矩形区域,GUILayout.EndArea()标记结束这些区域将定义峩们的面板。我还要在这两个区域添加标签以便我们可以看到它们的外观。

好吧他们似乎在工作:

然而,这两个面板被设置为覆盖窗ロ的一半但是如果我们希望它们可以调整大小,则它们需要具有可变高度所以,我要添加一个大小比例变量; 这样当一个面板覆盖一萣量的窗口时,另一个面板可以覆盖剩余部分

好的,两个面板都有可变的高度......但是我们仍然无法调整它们的大小!但不要担心我们离朂终产品并不太远。现在我们只需要另一个矩形区域这样当用户点击那里时我们就可以开始调整大小。我将在两个面板之间添加该区域这将是10像素高,因为为什么不呢?我喜欢10(我喜欢甚至更好:))

我们需要向用户展示另一件事:调整大小区域的开始位置。这看起来潒魔术但我保证,它不是:我们将使用Unity自己的一个图标并将其拉伸并放置使其看起来像上下面板之间的线。

现在我们将通过添加实際的交互来最终确定它。我们将处理传入的事件如果事件是鼠标按下事件并且它在调整大小区域,我们将开始调整大小

我要回帖

更多关于 unity静态方法 的文章

 

随机推荐