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

时间:2015-02-10 20:20:38

标签: javascript game-maker

我有一个健康栏,我想使用最小/最大和实际数字 6是分
8是最大的 实际数字将在它们之间浮动,7为起始数字 试过((max_n + min_n)/ act_n)* 100,但当然不行。
我觉得那天他们在学校(eyeroll)上学的时候我病了

2 个答案:

答案 0 :(得分:2)

如果您的浮点值为(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)

答案 1 :(得分:1)

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

目前,您的逻辑看起来像这样: (8 + 6(14)/实际(7))* 100,即14/7 = 2 * 100 = 200。

我认为你需要反转这两个参数,min + max和实际值。

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

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

或者,使用值,那将是: ((7.2 - 6)/(8 - 6)* 100

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

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