Unity NGUI+Slua tips

1.动态改anchor 不使用OnUpdate ,用OnEnable,可以刷新次数,同时当版式改变时用以下方式

     gameObj.updateAnchors = UIRect.AnchorUpdate.OnUpdate

     gameObj.updateAnchors = UIRect.AnchorUpdate.OnEnable

2,仍然是改相对位置

      local widget =gameObject:GetComponent(UIWidget)
      local ret = GetUIWidgetAnchors(widget) -- 四维数组
      widget.bottomAnchor.absolute = -80     -- 可以改 bottom,top,left,right ,另一个参数 relative
      SetUIWidgetAnchors(widget, ret)
      gameObject:GetComponent(UIWidget):ResetAndUpdateAnchors()
 可以通过获得Anchor,来改Anchor 是属性甚至直接设置 bottomAnchor属性(对应编辑器窗口值)

补充
local widget = self.pageTagGrid:GetComponent(UIWidget)
widget.topAnchor.target = icon.transform
widget.topAnchor.relative = 0 – topAnchor 的relative三个值,0bottom,0.5center,1top,>2 percent,相应如果是leftAnchor,0-left,1 -right,0.5-center
widget.topAnchor.absolute = 11
widget.bottomAnchor.target = icon.transform
widget.bottomAnchor.relative = 0
widget.bottomAnchor.absolute = 40
widget.updateAnchors = UIRect.AnchorUpdate.OnUpdate;
LuaTimer.Add(100, function()
widget.updateAnchors = UIRect.AnchorUpdate.OnEnable;
end)

3.手动加TWEEN动画

       --- scale 动画:

                           local scale = gameObject:AddComponent(TweenScale)
                            scale.gameObject:SetActive(false)
                            scale.duration = 0.8
                            scale.delay = 3

4.代码运行时绑定 lua脚本

Lua.AttachLua(luaFileName, gameObject)

Bugs:

1.UIButton 插件在手机上有几率不会变黑,改成UIEventListener 注册点击
2.碰到一个奇怪的bug,我在一个物体上加了两个tweenScale,通过设置延时决定播放顺序,用另外一个playTween去播放,物体放在grid下;发现tweenScale没有播放 ,最后勾掉了 tweenScale 下的 ignoreTimeScale 解决,另外发现,tweenScale 不能用ResetToBeginning 去设置到默认状态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值