Unity3D之toLua GridLayoutGroup

在开发背包的时候,一个格子里面的物品,想通过预制体动态来创建,这样修改后,也节省重复劳动,我的适配方案是

Unity3D之toLua GridLayoutGroup

在c#代码里面我测试过,克隆预制体放在Awake()里面是没有问题的,放在start里面就会被放大,因为我实际的分辨率是500x800;

因为lua脚本是被动态绑定的,不可能放在Awake里面绑定,所以就会出现预制体被放大的问题,

 

---初始化物品的框
function ZGameMainWinMiddle.Init_PagePack_GridFrame( tObjPagePack )
   tGridFrameObj  = tObjPagePack.transform:Find("GridFrame").gameObject;
    tDemoGoods     = tGridFrameObj.transform:Find("GoodsItem0").gameObject;
    tDemoGoodsIco  = tDemoGoods.transform:Find("PagePackGoodsIco0").gameObject;
       this.mRootLuaBhaviour:AddClick(tDemoGoodsIco, this.OnClickXxGoodsItem);

   for t=1,29,1 do
      tNewGoods = UnityEngine.Object.Instantiate(tDemoGoods);
      tNewGoods.name = "GoodsItem"..tostring(t);
      tNewGoods.transform.parent = tGridFrameObj.transform;
      tNewGoods.transform.localScale = Vector3.one;

      tDemoGoodsIco  = tNewGoods.transform:Find("PagePackGoodsIco0").gameObject;
      tDemoGoodsIco.name = "PagePackGoodsIco"..tostring(t);
      this.mRootLuaBhaviour:AddClick(tDemoGoodsIco, this.OnClickXxGoodsItem);
   end
end

通过充值缩放系数解决问题,发现在tNewGoods.transform.parent = tGridFrameObj.transform;在执行这个代码的时候缩放系数被修改了。