- Home /
Question by
bssnator_unity · Feb 24, 2018 at 10:06 PM ·
c#scripting problemcolor change
[HELP]Changing Color fill of slider on button clicked
Hi!
Currently I have 6 button, YellowMode, RedMode, BlueMode, GreenMode, GreyMode, PurpleMode. When a button with the proper function is press the player changes color. I now want the heatlth bar to change to a matching color.
Here is my script
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class ModeManager : MonoBehaviour {
public Slider slider;
public Image fill;
private Color red = new Color(254,54,0,1);
public void YellowMode(){
// Instantiate PlayerYellow
DestroyChild();
GameObject playerYellow = Instantiate(Resources.Load ("PlayerYellow")) as GameObject;
playerYellow.transform.SetParent (GameObject.FindGameObjectWithTag("Player").transform, true);
}
public void RedMode(){
// Instantiate PlayerRed
DestroyChild();
GameObject playerRed = Instantiate(Resources.Load ("PlayerRed")) as GameObject;
playerRed.transform.SetParent (GameObject.FindGameObjectWithTag("Player").transform, true);
fill.color = red;
}
public void BlueMode(){
// Instantiate PlayerBlue
DestroyChild();
GameObject playerBlue = Instantiate(Resources.Load ("PlayerBlue")) as GameObject;
playerBlue.transform.SetParent (GameObject.FindGameObjectWithTag("Player").transform, true);
}
public void GreenMode(){
// Instantiate PlayerGreen
DestroyChild();
GameObject playerGreen = Instantiate(Resources.Load ("PlayerGreen")) as GameObject;
playerGreen.transform.SetParent (GameObject.FindGameObjectWithTag("Player").transform, true);
}
public void GreyMode(){
// Instantiate PlayerGrey
DestroyChild();
GameObject playerGrey = Instantiate(Resources.Load ("PlayerGrey")) as GameObject;
playerGrey.transform.SetParent (GameObject.FindGameObjectWithTag("Player").transform, true);
}
public void PurpleMode(){
// Instantiate PlayerPurple
DestroyChild();
GameObject playerPurple = Instantiate(Resources.Load ("PlayerPurple")) as GameObject;
playerPurple.transform.SetParent (GameObject.FindGameObjectWithTag("Player").transform, true);
}
public void DestroyChild(){
foreach(Transform child in transform){
Destroy (child.gameObject);
Debug.Log("Boom");
}
}
}
In my head, What I have here I should be able to change the color of my fill to red when the RedMode function is called...the player correctly changes color, but not the health bar. How should I do this?
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220612153346im_/https://answers.unity.com/themes/thub/images/avi.jpg)