Unity c#编辑器脚本帮助创建像ui按钮这样的脚本对象

本文关键字:脚本 按钮 ui 对象 编辑器 帮助 创建 Unity | 更新日期: 2023-09-27 17:49:35

在Unity中,当你向ui添加按钮时,你会得到一个脚本,该脚本提供了一个选项,可以将项目添加到OnClick()方法中。https://i.stack.imgur.com/7Sjsy.jpg

如果可能的话,我也想做类似的事情。我想有一个脚本,有一个列表在脚本的所有效果,该块可以损坏。我希望能够将不同的脚本拖动到这个列表中,或者通过单击+号并从列表中选择按钮脚本来添加它们。列表中包含的效果包括火、闪电、酸等。一个示例模型图像https://i.stack.imgur.com/KbFtB.jpg

编辑:有错误的模型图像

Unity c#编辑器脚本帮助创建像ui按钮这样的脚本对象

我会使用unity的默认绘制数组和PropertyDrawer,它不会直接给你"+"answers"-"按钮,但它允许你为你的类绘制检查器,无论你想要什么。然后你可以使用数组的"Size"或右键单击每个值来复制或删除它。

http://docs.unity3d.com/ScriptReference/PropertyDrawer.html

这应该给你一个例子来得到你想要的。

你是否在问如何使你的GameObject的公共,以便你可以点击和拖动检查器中的项目?

就像这样

List<Effects> effects; 
public GameObject object; 
public bool fire; 
pbulic bool lightening;  

然后你可以通过点击场景中的游戏对象并将其拖拽到检查器中来设置上面的对象。此外,对于bool,您可以使用true或false bool打开火或闪电或false。明白了吗?

另外,你可以有一个效果列表,你可以保存你的火,照明对象。

你指的是这个吗?

你不能创建一个公共的脚本因为它不是一个变量

无论如何,你可以使用函数getComponent http://docs.unity3d.com/412/Documentation/ScriptReference/Component.GetComponent.html

你可以试试这样做:

// Drag and drop your gameobject containing your script
public GameObject obj;
void start()
{
  obj.getComponent<NameOfYourScript>()."function or variable in your script";
}