按下时更改切换按钮的背景

时间:2016-03-10 21:35:03

标签: c# unity3d

因此,我想在按下时更改切换按钮的背景。我已经使用新的UI系统创建了按钮,并创建了一个脚本,其中包含更改背景的功能。

在场景视图中,我可以看到切换按钮的目标图形正在改变,但切换的背景仍然没有改变。

我附上了我在检查员身上看到的东西,我希望你能告诉我我做错了什么。谢谢!

enter image description here

2 个答案:

答案 0 :(得分:2)

所以看看这个

https://stackoverflow.com/a/35921218/294884

并在此

public void ChangeBackground()
{
        if (theToggle.isOn) {   WRONG
            theToggle.image = Background1;}  WRONG
        else
        {  theToggle.image = Background2; }  WRONG
        }        
}

注意它改变了一些名为" toggle"。

<强> WRONG!

<强> WRONG!

<强> WRONG!

第一,做出可变的调用&#34; iWantToChangeTHIS&#34; ......

public Image iWantToChangeTHIS;
public Sprite oneSprite;
public Sprite twoSprite;
public Toggle theToggle;

public void ChangeBackground()
  {
   if (theToggle.isOn)
     iWantToChangeTHIS.sprite = oneSprite;
   else
     iWantToChangeTHIS.sprite = twoSprite;
  }        
}
顺便说一句,你也可以这样写......

   iWantToChangeTHIS.sprite=theToggle.isOn?oneSprite:twoSprite;

..只是你知道!

接下来,将您实际想要更改的内容拖到变量&#34; iWantToChangeTHIS&#34;

像往常一样,将切换拖到&#34; theToggle&#34;并将两个精灵(从“项目”面板中拖动)拖动到“精灵”项目。

最后还有啤酒

答案 1 :(得分:-1)

只想分享我为我们的项目制作的脚本;

您可以使用它来更改切换对象的目标图像(通常是背景) AND / OR ,以切换第二个类似复选标记的图形的可见性。

  • 创建一个新脚本,
  • 将其命名为“ ToggleImageSwap”(或根据您的脚本名称更改代码中的类),
  • 将此代码粘贴到脚本中,
  • 将其附加到您的切换按钮上。
  • 选择所需的内容。

    • 如果希望保持背景完整,则基本上可以复制切换的CheckMark子对象,并将其子画面更改为当未选中该切换时要显示的子画面。

我试图在变量注释中解释更多。

这是代码;

index
相关问题