![]() |
1
3
只需跟踪页面的当前速度及其位置。当用户释放时,将速度设置为上次平移的量。然后,在随后的帧中,继续按当前速度摇摄,并将当前速度减少一些固定量(数量级),直到其达到零。 |
![]() |
2
3
你可以通过跟踪位置来计算运动的速度。由于缺乏精确性,并且出于平滑的原因,您将希望对最后的多个位置进行平均,假设它们是在彼此相隔的几乎均匀的时间帧中进行的。 一旦你得到了这些的平均值,你就可以根据你想要的效果来调整你的速度。一旦计算出平均值,只需在平均值上加上一个常数乘数。 从这里开始,你将以这个速度移动窗口,降低速度直到它达到0。下降的速度也取决于个人偏好。如果你希望窗口在更长的时间内移动,你将以比你希望它停止得更快的速度降低速度。 如果你想要一个“反弹”效果,只要检查一下当窗口击中屏幕的一侧。如果它击中左侧或右侧(即windowx<=0或windowx+windowwidth>=screenwidth),则将x速度乘以-1将其发送到另一个方向。Y轴也是如此。如果不添加“反弹”效果,我建议至少执行相同的检查,但当它到达屏幕的一侧时,将其强制返回屏幕(即,windowx>=0和windowx<=screenwidth-windowwidth),将速度设置为0,从而完全停止动画。 我也建议你在最大速度上加一个上限(即在-x和x单位之间)。这将防止奇怪的情况,即“某物”发生,速度以一个疯狂的数字结束,屏幕以每小时一百万英里的速度反弹。 |
![]() |
mikanim · 改进二维余弦函数的numpy功能 3 年前 |
![]() |
chutiya · 我被python中的变量困住了 3 年前 |
![]() |
Mark Yo · 从成绩转换为gpa(带小数)[重复] 7 年前 |
![]() |
Nick X Tsui · 2D插值导致溢出错误:要插值的数据点太多 7 年前 |
![]() |
Gentem · 如何读取文本文件图像并将其保存到数组? 7 年前 |
![]() |
AL BAHRI · 循环通过2D阵列(对角线)c++ 7 年前 |