Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - k_kawasaki

Pages: [1]
1
Hi
I am using NGUI3.8.2

I use UIScrollView.
I use UICenterOnChild.CenterOn.
UICenterOnChild.CenterOn ignores the scroll limit.

I remodeled CenterOn not to go over the scroll limit.

Before
  1.                         // Spring the panel to this calculated position
  2. #if UNITY_EDITOR
  3.                         if (!Application.isPlaying)
  4.                         {
  5.                                 panelTrans.localPosition = panelTrans.localPosition - localOffset;
  6.  
  7.                                 Vector4 co = mScrollView.panel.clipOffset;
  8.                                 co.x += localOffset.x;
  9.                                 co.y += localOffset.y;
  10.                                 mScrollView.panel.clipOffset = co;
  11.                         }
  12.                         else
  13. #endif
  14.                         {
  15.                                 SpringPanel.Begin(mScrollView.panel.cachedGameObject,
  16.                                         panelTrans.localPosition - localOffset, springStrength).onFinished = onFinished;
  17.                         }
  18.  

After
  1.                         // Spring the panel to this calculated position
  2. #if UNITY_EDITOR
  3.                         if (!Application.isPlaying)
  4.                         {
  5.                                 panelTrans.localPosition = panelTrans.localPosition - localOffset;
  6.                                
  7.                                 Vector4 co = mScrollView.panel.clipOffset;
  8.                                 co.x += localOffset.x;
  9.                                 co.y += localOffset.y;
  10.                                 mScrollView.panel.clipOffset = co;
  11.                         }
  12.                         else
  13. #endif
  14.                         {
  15. // Change Begin
  16.                                 var move = panelTrans.localPosition - panelTrans.localPosition - localOffset;
  17.                                 mScrollView.MoveRelative(move);
  18.                                
  19.                                 var ofs = mScrollView.panel.CalculateConstrainOffset(mScrollView.bounds.min,mScrollView.bounds.max);
  20.                                 var targetPos = ofs + panelTrans.localPosition;
  21.                                
  22.                                 mScrollView.MoveRelative(-move);
  23.                                
  24.                                 SpringPanel.Begin(mScrollView.panel.cachedGameObject,targetPos, springStrength).onFinished = onFinished;
  25. // Change End
  26.                         }
  27.  
  28.  

How is this?

Pages: [1]