- Home /
Save Object Material Color ??
I change the color of the material objects , but not save . i am use c# and change color of UI Button.
please help me...
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class ColorSelector : MonoBehaviour {
public GameObject vehicle01;
public static Vector4 hexColor(float r, float g, float b, float a){
Vector4 color = new Vector4(r/255, g/255, b/255, a/255);
return color;
}
public void red () {
vehicle01.GetComponent<Renderer>().sharedMaterial.color = new Color(1, 0, 0, 1);
}
public void blue () {
vehicle01.GetComponent<Renderer>().sharedMaterial.color = new Color(0, 0, 1, 1);
}
public void black () {
vehicle01.GetComponent<Renderer>().sharedMaterial.color = new Color(0, 0, 0, 0);
}
public void cyan () {
vehicle01.GetComponent<Renderer>().sharedMaterial.color = new Color(0, 1, 1, 1);
}
public void gray () {
vehicle01.GetComponent<Renderer>().sharedMaterial.color = new Color(0.5f, 0.5f, 0.5f, 1);
}
public void green () {
vehicle01.GetComponent<Renderer>().sharedMaterial.color = new Color(0, 1, 0, 1);
}
public void magenta () {
vehicle01.GetComponent<Renderer>().sharedMaterial.color = new Color(1, 0, 1, 1);
}
public void white () {
vehicle01.GetComponent<Renderer>().sharedMaterial.color = new Color(1, 1, 1, 1);
}
public void yellow () {
vehicle01.GetComponent<Renderer>().sharedMaterial.color = hexColor(255,215,0,255);
}
public void pink () {
vehicle01.GetComponent<Renderer>().sharedMaterial.color = hexColor(255,105,180,255);
}
public void teal () {
vehicle01.GetComponent<Renderer>().sharedMaterial.color = hexColor(0,128,128,255);
}
public void purple () {
vehicle01.GetComponent<Renderer>().sharedMaterial.color = hexColor(128,0,128,255);
}
public void silver () {
vehicle01.GetComponent<Renderer>().sharedMaterial.color = hexColor(188,198,204,255);
}
public void apricot () {
vehicle01.GetComponent<Renderer>().sharedMaterial.color = hexColor(251, 206, 177,255);
}
public void smokegray () {
vehicle01.GetComponent<Renderer>().sharedMaterial.color = hexColor(112,140,152,255);
}
public void orange () {
vehicle01.GetComponent<Renderer>().sharedMaterial.color = hexColor(237,135,45,255);
}
}
Answer by aditya · Mar 28, 2016 at 11:36 AM
Thank you , but unfortunately I do not know how I will register according to my code??
ui doesnot have any Renderer component on it, so use this
vehicle01.GetComponent<SpriteRenderer>().color = hexColor(255,105,180,255);
Okay. $$anonymous$$y project Android project. I am changed color my code now. $$anonymous$$ake build and change the color but does not even save on the phone. How can I save as a method playerprefs c#. thank you.
try saving it in xml files, in the code below i will show you how to create a xml file and there are lot of tutorials online which will $$anonymous$$ch you how to read and write xml files
using UnityEngine;
using System.Collections;
using System.IO;
public class writeX$$anonymous$$L : $$anonymous$$onoBehaviour {
void Start () {
File.Create (Application.persistentDataPath + @"/testX$$anonymous$$L.xml").Dispose ();
using(StreamWriter wrtr = new StreamWriter(Application.persistentDataPath + @"/testX$$anonymous$$L.xml")){
wrtr.WriteLine ("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
wrtr.WriteLine ("<rootTag>");
wrtr.WriteLine ("</rootTag>");
}
}
}
Use This to
How to Read X$$anonymous$$L Files Use This to
How to Write X$$anonymous$$L Files