I am trying to change some texture’s offset values of some butterflies’s wings . The wings are tagged as “wings”.
When I run this script I receive this error:
UnityException: You are not allowed to call this function when declaring a variable.
Move it to the line after without a variable declaration.
If you are using C# don’t use this function in the constructor or field initializers, Instead move initialization to the Awake or Start function.
ButterflyColor…ctor ()
using UnityEngine;
using System.Collections;
public class ButterflyColor : MonoBehaviour {
public GameObject[] wings = GameObject.FindGameObjectsWithTag("wings");
public void SetButterfliesColorsValue(string myButterflyVal){
foreach (GameObject wing in wings) {
if (myButterflyVal == "blue") {
wing.renderer.material.mainTextureOffset = new Vector2(0, 0);
}
else if (myButterflyVal == "orange"){
wing.renderer.material.mainTextureOffset = new Vector2(0.25F, 0);
}
else if (myButterflyVal == "yellow"){
wing.renderer.material.mainTextureOffset = new Vector2(0.5F, 0);
}
else {
wing.renderer.material.mainTextureOffset = new Vector2(0.75F, 0);
}
}
}
}
What is wrong?
Thank you in advance