下面这段代码,BShapeSlider我感觉没什么必要啊,直接使用实例化出来的sliderGo不就可以了吗?对了,在这里是不是SliderGo和BshapeSlider指的是相同的物体吗?
GameObject sliderGo = Instantiate(Resources.Load("slider", typeof(GameObject))) as GameObject;
var BShapeSlider = sliderGo.GetComponent<BlendShapeSlider>();
//改名字
//改父物体
//大小
BShapeSlider.BlendShapeName = blendshapeNames[selectIndex];
BShapeSlider.name = blendshapeNames[selectIndex];
BShapeSlider.transform.parent = canvas.transform;
BShapeSlider.GetComponent<RectTransform>().sizeDelta = new Vector2(140f, 25f);
BShapeSlider.GetComponentInChildren<Text>().text = blendshapeNames[selectIndex];
BShapeSlider是sliderGo的身上的组件BlendShapeSlider。
可以不要BShapeSlider,但是之后改物体的名字是要通过获取组件修改的,就要写一大长串,很繁琐的代码,所以加入了BShapeSlider这个变量,让它指代sliderGo身上的BlendShapeSlider脚本。