Unity - A计划(一年有效期) 扫二维码继续学习 二维码时效为半小时

(61评价)
价格: 2208.00元
Ivy老师,捏脸关于编辑器的问题
紅線发起了问答2018-03-27
5
回复
475
浏览

下面这段代码,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];

 

所有回复
  • 老师_Ivy 2018-03-28

    BShapeSlider是sliderGo的身上的组件BlendShapeSlider。

    可以不要BShapeSlider,但是之后改物体的名字是要通过获取组件修改的,就要写一大长串,很繁琐的代码,所以加入了BShapeSlider这个变量,让它指代sliderGo身上的BlendShapeSlider脚本。

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • 紅線 2018-03-28

    我改物体的名字也是用的sliderGo,没有用他的组件改,他俩效果是一样的啊,所以我感觉没必要获取他的组件

    • 老师_Ivy 2018-03-30

      这个看个人喜好吧。
      BShapeSlider.BlendShapeName = blendshapeNames[selectIndex];
      这句代码,是要访问到slidergo身上的组件才可以修改的,所以用了这个变量。至于之后的设置的确可以直接用游戏物体代替,但是之前因为声明了这个变量,不用浪费了。

      (0) 回复
    还有-4条回复,点击查看
    你还没有登录,请先登录注册
  • 紅線 2018-03-30

    好的,知道了,谢谢

     

     

    还有-4条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!