首页 > 解决方案 > 将数字重新映射到pygame中的另一个范围

问题描述

如何在 pygame 或 python 中将数字从一个范围重新映射到另一个范围?

例如:如果我想将范围为 0-100 的映射 x=25 映射到 0-20 的新范围.. x 的新值将是 5。

标签: pythonpython-3.xpygame

解决方案


编写一个从范围 [a, b] 映射到范围 [c, d] 的函数:

def maprange(x, a, b, c, d):
    w =  (x-a) / (b-a)
    y = c + w * (d-c)
    return y
y = maprange(25, 0, 100, 0, 20)

推荐阅读