滑动条修改提交
parent
5cf3388a59
commit
34357fddff
|
@ -85,29 +85,79 @@ local function SetPosition(self, dv2,isBack)
|
|||
else
|
||||
dv2.y = 0
|
||||
end
|
||||
local fv2 = av2 + dv2
|
||||
|
||||
--if not self.elastic then
|
||||
if self.itemDis > 0 then
|
||||
if self.dragType == 1 then
|
||||
if fv2.y < (0 - self.maxOffSet) or fv2.y > (self.itemDis + self.maxOffSet) then
|
||||
fv2.y = math.clamp(fv2.y, 0, self.itemDis)
|
||||
if not isBack then
|
||||
return
|
||||
end
|
||||
end
|
||||
elseif self.dragType == 2 then
|
||||
if fv2.x < (0 - self.maxOffSet) or fv2.x > (self.itemDis + self.maxOffSet) then
|
||||
fv2.x = math.clamp(-fv2.x, -self.itemDis, 0)
|
||||
if not isBack then
|
||||
return
|
||||
end
|
||||
end
|
||||
if self.itemDis > 0 then
|
||||
if self.dragType == 1 then
|
||||
if av2.y < (0 - self.maxOffSet) then
|
||||
self.isReachMax = 1
|
||||
elseif av2.y > (self.itemDis + self.maxOffSet) then
|
||||
self.isReachMax = 2
|
||||
else
|
||||
self.isReachMax = 0
|
||||
end
|
||||
elseif self.dragType == 2 then
|
||||
if av2.x > (0 + self.maxOffSet) then
|
||||
self.isReachMax = 1
|
||||
elseif av2.x < -(self.itemDis + self.maxOffSet) then
|
||||
self.isReachMax = 2
|
||||
else
|
||||
self.isReachMax = 0
|
||||
end
|
||||
end
|
||||
else
|
||||
return
|
||||
end
|
||||
self.realPos = av2 + dv2
|
||||
if self.isReachMax ~= 0 then
|
||||
self.moveTween.MomentumAmount = 0
|
||||
self.moveTween.Momentum = Vector3.zero
|
||||
self.moveTween.Strength = 10
|
||||
self.moveTween:LerpMomentum(Vector3.zero)
|
||||
if self.dragType == 1 then
|
||||
if (self.realPos + dv2).y < self.realPos.y and self.isReachMax == 1 then
|
||||
dv2.y = 0
|
||||
elseif (self.realPos + dv2).y > self.realPos.y and self.isReachMax == 2 then
|
||||
dv2.y = 0
|
||||
end
|
||||
else
|
||||
return
|
||||
if (self.realPos + dv2).x > self.realPos.x and self.isReachMax == 1 then
|
||||
dv2.x = 0
|
||||
elseif (self.realPos + dv2).x < self.realPos.x and self.isReachMax == 2 then
|
||||
dv2.x = 0
|
||||
end
|
||||
end
|
||||
--end
|
||||
else
|
||||
self.moveTween.Strength = 1
|
||||
self.moveTween.MomentumAmount = 1
|
||||
end
|
||||
local fv2 = av2 + dv2
|
||||
|
||||
-- --if not self.elastic then
|
||||
-- if self.itemDis > 0 then
|
||||
-- if self.dragType == 1 then
|
||||
-- if fv2.y < (0 - self.maxOffSet) then
|
||||
-- fv2.y = 0 - self.maxOffSet
|
||||
-- self.isReachMax = true
|
||||
-- elseif fv2.y > (self.itemDis + self.maxOffSet) then
|
||||
-- fv2.y = self.itemDis + self.maxOffSet
|
||||
-- self.isReachMax = true
|
||||
-- else
|
||||
-- self.isReachMax = false
|
||||
-- end
|
||||
-- elseif self.dragType == 2 then
|
||||
-- if fv2.x > (0 + self.maxOffSet) then
|
||||
-- fv2.x = (0 + self.maxOffSet)
|
||||
-- self.isReachMax = true
|
||||
-- elseif fv2.x < -(self.itemDis + self.maxOffSet) then
|
||||
-- fv2.x = -(self.itemDis + self.maxOffSet)
|
||||
-- self.isReachMax = true
|
||||
-- else
|
||||
-- self.isReachMax = false
|
||||
-- end
|
||||
-- end
|
||||
-- else
|
||||
-- return
|
||||
-- end
|
||||
self.dragGOTran.anchoredPosition = fv2
|
||||
|
||||
local curIndex
|
||||
|
@ -132,7 +182,10 @@ local function OnBeginDrag(self, Pointgo, data)
|
|||
self.moveTween.enabled = true
|
||||
self.moveTween.Momentum = Vector3.zero
|
||||
self.moveTween.IsUseCallBack = false
|
||||
self.isReachMax = 0
|
||||
data:Use()
|
||||
self.moveTween.Strength = 1
|
||||
self.realPos = self.dragGOTran.anchoredPosition
|
||||
end
|
||||
|
||||
local function OnDrag(self, Pointgo, data)
|
||||
|
@ -150,6 +203,8 @@ local function OnEndDrag(self, Pointgo, data)
|
|||
self.moveTween.IsUseCallBack = true
|
||||
data:Use()
|
||||
self.isBeginDrag = false
|
||||
self.isReachMax = 0
|
||||
self.moveTween.Strength = 1
|
||||
end
|
||||
|
||||
local function OnMoveEnd(self)
|
||||
|
|
Loading…
Reference in New Issue