Unity引擎:哪个组件称为运行脚本?

时间:2018-09-17 14:54:17

标签: c# user-interface unity3d button canvas

因此,我正在尝试构建菜单的动画。除了按下的按钮外,我希望所有按钮都放在一边。但是由于为每个按钮编写一个单独的脚本不够美观(对于动态按钮,这是不切实际的),所以我需要考虑其他问题。

因此,我想制作一个将挂在几个按钮上的脚本。当任何一个被按下时,脚本就会被调用,识别哪个按钮被调用,并将其从使用分流动画中排除。对于伪代码描述:

for (each button){
 if (pressed_button != this_button){
  run this_button's animation
 }
}

但是有一个问题:我一生都无法找出如何识别按下的按钮!有提示吗?

1 个答案:

答案 0 :(得分:1)

您可以在按钮上添加一个OnClick事件,该事件可以调用指向您的脚本中的任何公共函数。您还可以将单个参数传递给该函数,该参数可以是对按钮,整数,字符串等的引用。使用此参数,您可以拥有一个带有switch语句的单个函数,该语句根据所传递的内容来处理按钮的按下它。

enter image description here

请记住,将事件添加到按钮组件时,您将需要从游戏场景中拖入一个带有附加脚本的GameObject,以访问其公共功能。您不能只是将脚本本身直接拖到OnClick事件中。