Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 打开值切换已更改没有可用的功能_C#_Unity3d - Fatal编程技术网

C# 打开值切换已更改没有可用的功能

C# 打开值切换已更改没有可用的功能,c#,unity3d,C#,Unity3d,下面是关于Unity十六进制贴图的教程,可以在这里找到: 我已经创建了一个类,该类采用hexgrid并允许我设置给定瓷砖的颜色。我有一个公共方法SelectColor(int-index)来选择颜色 为了选择颜色,我有一个带有4个切换的面板,分配给一个切换组 结构如下所示: 当我尝试为每个切换设置OnValueChanged方法时,问题就出现了。没有可供选择的选项,甚至没有可访问的其他对象 这就是我所拥有的一切: 关于如何解决这个问题有什么想法吗 编辑(11月4日): 我已将方法的签名更新

下面是关于Unity十六进制贴图的教程,可以在这里找到:

我已经创建了一个类,该类采用hexgrid并允许我设置给定瓷砖的颜色。我有一个公共方法
SelectColor(int-index)
来选择颜色

为了选择颜色,我有一个带有4个切换的面板,分配给一个切换组

结构如下所示:

当我尝试为每个切换设置OnValueChanged方法时,问题就出现了。没有可供选择的选项,甚至没有可访问的其他对象

这就是我所拥有的一切:

关于如何解决这个问题有什么想法吗

编辑(11月4日):

我已将方法的签名更新为
SelectColorZero()
,以测试无参数函数是否会产生影响

事实并非如此

除了
MonoScript.name

编辑(11月5日):


这不是错误,这是用户错误。请参阅下面的答案。

您是否有来自其他脚本的编译错误?如果是这样,unity将无法编译脚本,并且在按钮上看不到您的函数

你可以在脚本中找到你的按钮 作为

并通过脚本附加onclick方法

greenButton.onclick.AddListener(Functionname);

您是否有来自其他脚本的编译错误?如果是这样,unity将无法编译脚本,并且在按钮上看不到您的函数

你可以在脚本中找到你的按钮 作为

并通过脚本附加onclick方法

greenButton.onclick.AddListener(Functionname);

我使用的对象是:

这是不正确的,请注意类型:
Mono-Script

我想要的是场景中的对象,在场景选项卡中,如下所示:

现在我可以设置我的方法:


它就像一个符咒:)

我用这个作为我的对象:

这是不正确的,请注意类型:
Mono-Script

我想要的是场景中的对象,在场景选项卡中,如下所示:

现在我可以设置我的方法:


它的工作原理就像一个符咒:)

方法签名需要匹配切换所需的签名,一个布尔值作为参数。您还需要检查您的实现,因为索引已经不存在了。@Everts实际上这看起来像个bug。。到目前为止,您可以使用任何不带参数的
void
方法,也可以使用一个简单类型的参数,例如带静态值的
int
float
string
bool
。您的意思可能是
动态
侦听器,其中签名必须与相应的
UnityEvent
中的一个匹配最坏情况:只需为每种颜色减少一个参数void方法。。通常不是您应该习惯的,但在这种简单的情况下,它至少是一个热修复;)我假设您的
hexmappeditor
脚本附加到
hexmappeditor
对象,并且该对象就是您在UnityEvent框中引用的对象?@Immersive您几乎击中了要害。我使用的是Asset
HexMapEditor
,而我本应该使用场景
HexMapEditor
的时候,方法签名需要与切换所需的签名匹配,一个布尔值作为参数。您还需要检查您的实现,因为索引已经不存在了。@Everts实际上这看起来像个bug。。到目前为止,您可以使用任何不带参数的
void
方法,也可以使用一个简单类型的参数,例如带静态值的
int
float
string
bool
。您的意思可能是
动态
侦听器,其中签名必须与相应的
UnityEvent
中的一个匹配最坏情况:只需为每种颜色减少一个参数void方法。。通常不是您应该习惯的,但在这种简单的情况下,它至少是一个热修复;)我假设您的
hexmappeditor
脚本附加到
hexmappeditor
对象,并且该对象就是您在UnityEvent框中引用的对象?@Immersive您几乎击中了要害。我当时正在使用Asset
HexMapEditor
,而我本应该使用场景
HexMapEditor