0

D1、D2、D3 の 3 つのダイヤルがあります。これらの値は常に 100% で、デフォルト値はそれぞれ 50%、25%、25% です。

ユーザーが D2 または D3 を編集する場合、D1 はプル元およびデポジット先の最初のポットとして機能する必要があります。

ここに問題があります。編集可能なダイヤルが D1 リザーブのポイントを超えて増加した場合はどうなるでしょうか。その時点で編集されていないダイヤルからの残りのプルを取得する方法を見つける必要があります。

ハックではなく、エレガントなソリューションを探していると思います。誰でもそのような解決策を得ましたか?

http://jsfiddle.net/cborgia/ByWCA/

4

1 に答える 1

0

あなたがやろうとしているのは、次のような 3 つの関数の方程式を解くことです。

X + Y +  Z = K;

どこ:

X = x + a(dx)
Y = y + b(dy)
Z = z + c(dz)
K = 100

  1. abおよびcは関数です
  2. xyおよびzは、ノブおよび
  3. dxdyおよびdzはノブ値の変化です

関数は、K (常に 100) の値と 、 、および の 1 つを指定して解決XYれます。ZXYZ

あなたは何が起こるべきかを とは言わず、X0または 100 に近づきます - それらは比例して減少しますか、それともユーザーが調整していない他のノブに過剰または不足が適用されますか?YZ

于 2012-08-06T00:53:47.380 に答える