在 Gamemaker 中使用 min-max 计算百分比

Calculating percentage with min-max in Gamemaker

我有一个健康栏,我想使用 min/max 和实际数字。
6 是最小值
8 是最大值
实际数字将在它们之间浮动,以 7 作为起始数字。
试过 ((max_n + min_n) / act_n)*100,当然不行。
我想那天他们在学校检查时我生病了(eyeroll)

我不确定我是否理解您在做什么,但我相信您计算平均值的方式有误。 您不应该将实际值除以可能的总数吗?

目前,您的逻辑如下所示: (8 + 6 (14) / 实际 (7) )*100,即 14/7 = 2 * 100 = 200.

我认为你需要颠倒这两个参数,最小值+最大值和实际值。

如果是我,我不会那样做,我实际上会从两者中减去最小量,然后除以两者之间的差值。 如果 6 和 8 是动态的,这可能看起来像:

( (act_n - min_n) / (max_n - min_n) )*100

或者,对于值,这将是: ( (7.2 - 6) / (8 - 6)*100

(1.2 / 2)*100 = 60,所以你的百分比是 60%

我不使用 Javascript,所以请忽略我犯的任何间距错误。我不知道语言有多严格。

如果您有一个 (6, 8) 的浮点值,并且您希望该值与最小值之间的距离表示为最大值之间的差异 -

var min = 6, 
    max = 8, 
    current = 7, 
    difference = max - min, 
    percent = (current - min) / difference;  // <-- is the value you're after
                                             // it is 50% between (6,8)