Arrays 索引值的数组不是从0开始的
我有两个按钮来加载不同的纹理图像,当我按第1个按钮时,它加载纹理中的4个图像,当我按第2个按钮时,它加载纹理中的3个图像。但问题是,当我按下第一个按钮时,它会加载4个图像,当我按下第二个按钮时,它会加载图像,但它从第五位开始。当我按下第二个按钮时,无法将值重置为0Arrays 索引值的数组不是从0开始的,arrays,unity3d,clone,gameobject,Arrays,Unity3d,Clone,Gameobject,我有两个按钮来加载不同的纹理图像,当我按第1个按钮时,它加载纹理中的4个图像,当我按第2个按钮时,它加载纹理中的3个图像。但问题是,当我按下第一个按钮时,它会加载4个图像,当我按下第二个按钮时,它会加载图像,但它从第五位开始。当我按下第二个按钮时,无法将值重置为0 private int clonevalue = 0; public int i = 0; string response = www.text; IDictionary search = (IDic
private int clonevalue = 0;
public int i = 0;
string response = www.text;
IDictionary search = (IDictionary) Json.Deserialize(response);
IList linksObject = (IList) search["Products"]; //Here searching only products array
foreach (IDictionary modellinksArray in linksObject) {
string cat_id=string.Format("{0} ", modellinksArray["category_id"]); //From products array getting the category_id
//int catd_id_int = int.Parse(cat_id); //Converting the string value to integer
if(cat_id == myId){//Now, i have used static code value of 4 and if the value match and we can gets only matching category model. Here you can pass the id value of category list selected.
int clonevalue = 0;
int i = 0;
// i = 0;
cloneGO = Instantiate(myScrollTexture)as GameObject;
cloneGO.transform.parent = parentObject.transform;
cloneGO.transform.localPosition =new Vector3(127,30,0);
cloneGO.transform.localScale =Vector3.one;
cloneGO.name = "cloneScrollTexture"+i;
string myTexture = string.Format("{0} ", modellinksArray["imageurl"]);
string modelUrl = string.Format("{0} ", modellinksArray["modelurl"]);
i++;
//StartCoroutine(Load3D(modal3d,modal3d));
cloneGO.GetComponent<dynamicmodelload>().modelURL = modelUrl;
//Destroy(cloneGO);
WWW www1 = new WWW(myTexture);
Debug.Log("text"+myTexture);
yield return www1;
//if(!www1.isDone){
//yield return null;
//}
//if(www1.isDone){
Debug.Log (clonevalue);
//clonevalue = 0;
//DebugConsole.Log (clonevalue);
myTextureObject = GameObject.Find ("cloneScrollTexture" + clonevalue);
//Debug.Log (myTextureObject);
clonevalue++;
Debug.Log (myTexture);
myTextureObject.GetComponent<UITexture>().mainTexture = www1.texture;
Debug.Log ("myTextureObject"+myTexture);
//DebugConsole.Log ("myTextureObject"+myTexture);
if (myTextureObject.name == "cloneScrollTexture"+evenValues) {
myTextureObject.transform.localPosition =new Vector3(-81,30,0);
evenValues +=2;
Debug.Log (evenValues);
//DebugConsole.Log (evenValues);
}
if(myTextureObject.name == "cloneScrollTexture"+yevenValue){
yValue += 210;
Debug.Log("yevenValue"+yevenValue);
//DebugConsole.Log("yevenValue"+yevenValue);
yevenValue +=2;
}
//for(int i=0; i< 2; i++){
Debug.Log ("yValue"+yValue);
//DebugConsole.Log ("yValue"+yValue);
myTextureObject.transform.localPosition -=new Vector3(0,yValue,0);
Debug.Log ("myTextureObject"+myTextureObject.transform.localPosition);
//evenValues +=2;
// test = 5;
}
private int clonevalue=0;
公共整数i=0;
字符串响应=www.text;
IDictionary search=(IDictionary)Json.Deserialize(响应);
IList链接对象=(IList)搜索[“产品”]//这里只搜索产品数组
foreach(linksObject中的IDictionary modellinksArray){
string cat_id=string.Format(“{0}”,modellinksArray[“category_id”]);//从products数组获取category_id
//int catd_id_int=int.Parse(cat_id);//将字符串值转换为整数
如果(cat_id==myId){//现在,我使用了静态代码值4,如果值匹配,我们只能得到匹配的类别模型。在这里,您可以传递所选类别列表的id值。
int clonevalue=0;
int i=0;
//i=0;
cloneGO=实例化(myScrollTexture)为游戏对象;
cloneGO.transform.parent=parentObject.transform;
cloneGO.transform.localPosition=新向量3(127,30,0);
cloneGO.transform.localScale=Vector3.one;
cloneGO.name=“cloneScrollTexture”+i;
string myTexture=string.Format(“{0}”,modellinksArray[“imageurl]”);
string modelUrl=string.Format(“{0}”,modellinksArray[“modelUrl”]);
i++;
//start例程(Load3D(modal3d,modal3d));
cloneGO.GetComponent().modelURL=modelURL;
//销毁(cloneGO);
WWW www1=新WWW(myTexture);
Log(“文本”+myTexture);
收益率www1;
//如果(!www1.isDone){
//收益返回空;
//}
//如果(www1.isDone){
Log(clonevalue);
//克隆值=0;
//DebugConsole.Log(clonevalue);
myTextureObject=GameObject.Find(“cloneScrollTexture”+clonevalue);
//Log(myTextureObject);
clonevalue++;
Log(myTexture);
myTextureObject.GetComponent().mainTexture=www1.texture;
Log(“myTextureObject”+myTexture);
//Log(“myTextureObject”+myTexture);
if(myTextureObject.name==“cloneScrollTexture”+evenValues){
myTextureObject.transform.localPosition=新向量3(-81,30,0);
平均值+=2;
Debug.Log(值);
//DebugConsole.Log(值);
}
if(myTextureObject.name==“cloneScrollTexture”+yevenValue){
y值+=210;
Debug.Log(“yevenValue”+yevenValue);
//DebugConsole.Log(“yevenValue”+yevenValue);
yevenValue+=2;
}
//对于(int i=0;i<2;i++){
Log(“yValue”+yValue);
//DebugConsole.Log(“yValue”+yValue);
myTextureObject.transform.localPosition-=新向量3(0,yValue,0);
Log(“myTextureObject”+myTextureObject.transform.localPosition);
//平均值+=2;
//试验=5;
}
当我按下第一个按钮时,克隆值传递到0。因此,纹理图像正确加载到第0个位置,但当我按下第二个按钮时,克隆值传递到第5个位置。因此,纹理图像显示在第5个位置。因此,当我按下第二个按钮时,如何重置克隆值0。这样,我就可以轻松地传递到0。p将上面的所有代码转换成一个方法,并使“clonevalue”变量成为局部变量,因此每次调用该方法时,都会称为“clonevalue”将从0开始。我不理解这行,将上面的所有代码放入一个方法中,我是否需要将I也作为局部变量。因为如果我增加,则clonevalue也会增加如果我使用局部变量,并且所有纹理图像仅显示在第0个位置,它不会逐个显示或用于滚动参数化方法将整数循环一定次数。例如public void SomeMethod(int循环){for(int i=0;i