Making a scrollbar but its inconsistent(制作滚动条,但它不一致)
问题描述
所以我只是在胡乱做一个简单的滚动条。基本上,有一些按钮和一个滚动条。我所要做的就是,如果滚动条向下移动,则向上移动按钮;如果向上移动滚动条,则向下移动按钮。以下是代码。
我遇到的问题是,当上下滚动时,它们逐渐被放错了位置。例如,它是如何开始的。请注意左侧的栏和按钮是如何在同一层开始的。
下面是上下滚动几次后的结果。
我认为这就是问题所在:
mousePos[1] - scrollPosY
根据鼠标移动的速度而变化,因此每帧的变化量是不一致的。要解决此问题,我将其替换为
这解决了该问题,但现在移动感觉不自然(滚动条移动速度变慢或按钮移动速度变快)。
所以我的问题是:有没有办法让它们在以不同的速度移动的同时保持一致?
推荐答案
不移动列表元素的位置,但计算新位置:
ys[i] -= offset
计算栏的相对位置:
计算列表元素的偏移量:
设置元素的新位置:
更改:
这篇关于制作滚动条,但它不一致的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!